home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Future Workshop
/
Future Workshop.iso
/
utility
/
cf537d
/
manual
< prev
next >
Wrap
Text File
|
1995-07-15
|
191KB
|
3,797 lines
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
SHAREWARE DISK/FILE MANAGER
Copyright 1991-94 Charles F. Martin
President, NoVaSoft - Member ASP
3239 Riverview Dr.
Triangle, VA 22172-1421 USA
Phone (703) 221-1471/1833 CompuServe 72130,1400
Internet 72130.1400@compuserve.com
_______
____|__ | (R)
--| | |-------------------
| ____|__ | Association of
| | |_| Shareware
|__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
Assembled using Wolfware Assembler WASM Ver 2.22x,
(c) 1985-1991 Eric Tauck, Wolfware
Manual developed using PC-Write Ver 3.04,
(c) 1983-90 Bob Wallace, Quicksoft
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
FOREWORD:
CONCERNING SHAREWARE AND CMFiler:
Definition of Shareware. . .
Shareware distribution gives users a chance to try software before
buying it. If you try a shareware program and continue using it, you are
expected to register it. Individual programs differ on details _ some
request registration while others require it, some specify a maximum
trial period. With registration, you get anything from the simple right
to continue using the software to an updated program with printed manual.
Copyright laws apply to both shareware and commercial software, and
the copyright holder retains all rights, with a few specific exceptions
as stated below. Shareware authors are accomplished programmers, just
like commercial authors, and the programs are of comparable quality. (In
both cases, there are good programs and bad ones!) The main difference
is in the method of distribution. The author specifically grants the
right to copy and distribute the software, either to all and sundry or to
a specific group. For example, some authors require written permission
before a commercial disk vendor may copy their shareware.
Shareware is a distribution method, not a type of software. You
should find software that suits your needs and pocketbook, whether it's
commercial or shareware. The shareware system makes fitting your needs
easier, because you can try before you buy. And because the overhead is
low, prices are low also. Shareware has the ultimate money-back
guarantee _ if you don't use the product, you don't pay for it.
CMFiler is a copyrighted shareware program by Charles F. Martin,
President, NoVaSoft and author member of the Association of Shareware
Professionals. The evaluation edition of CMFiler is offered at no charge
to any potential user for evaluation. Feel free to share the evaluation
edition with your friends, but please do not give it away altered or as
part of another system. The essence of "user-supported" software is to
provide personal computer users with quality software without high
prices, and yet to provide incentive for programmers to continue to
develop new products.
Ombudsman Statement. . .
This program is produced by a member of the Association of
Shareware Professionals (ASP). ASP wants to make sure that the shareware
principle works for you. If you are unable to resolve a shareware-
related problem with an ASP member by contacting the member directly,
ASP may be able to help. The ASP Ombudsman can help you resolve a
dispute or problem with an ASP member, but does not provide technical
support for members' products. Please write to the ASP Ombudsman at 545
Grover Road, Muskegon, MI 49442 or send a CompuServe message via
CompuServe Mail to ASP Ombudsman 70007,3536.
CMFiler Disclaimer - Agreement. . .
Users of CMFiler must accept this disclaimer of warranty:
CMFiler is supplied as-is. The author disclaims all warranties,
expressed or implied, including, without limitation, the warranties of
merchantability and of fitness for any purpose. The author assumes no
liability for damages, direct or consequential, which may result from the
use of CMFiler.
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
CONTENTS:
FOREWORD
INDEX TO TOPICS AND OPERATIONS:...............................Ind-9
OVERVIEW......................................................Ov-19
File Contents . . . Ov-19
Program Logical and Physical Organization. . . Ov-21
Security Features. . . Ov-22
Monitor Options. . . Ov-23
Precautions and Limitations. . . Ov-24
Assumption about User's Familiarity with DOS. . . Ov-25
Additional Note for Windows Users. . . Ov-25
Assertion. . . Ov-26
Special Thanks. . . Ov-26
TUTORIAL _ Chapter 1: File Handling:...........................1-27
Getting Started , or the "Kernel" and the "Overlay": 1-27
Rename CMFILER to Spare My Fingers. . . 1-27
The Screen. . . 1-28
The Help Area. . . 1-29
More on the "Modifier Keys". . . 1-29
Two Panels. . . 1-30
Color Palette. . . 1-31
Alphabetic Case Options. . . 1-31
Cursor Movement. . . 1-31
iii
Switching Drives or Disks. . . 1-32
Subdirectories. . . 1-32
Copy Some Files, then Do It with Tags. . . 1-33
Tagging, Backing Up. . . 1-34
Moving Files. . . 1-34
Deleting a File. . . 1-35
The Tagging Convention Expounded on. . . 1-36
Renaming a File or a Directory. . . 1-37
Some Additional Tagging Options. . . 1-37
Copy with Rename. . . 1-38
The Floppy "Filler". . . 1-38
The File Freshener . . . 1-38
Different Ways to Show the Files. . . 1-38
The Data Entry Window. . . 1-39
Disk Space Occupied versus Actual File Size. . . 1-40
File Attributes. . . 1-40
Changing the Date/Time Stamp of a File. . . 1-40
"Alt-Tagging" and Appending. . . 1-41
Printing a File. . . 1-41
Making Some Notes About Your Files. . . 1-42
Printing a Directory Listing. . . 1-43
Comparison Mode. . . 1-43
Hide Mode. . . 1-43
Mask Template. . . 1-44
Displaying System Date and Time. . . 1-44
Changing or Adding a Volume Label. . . 1-44
Some Safeguards. . . 1-44
Saving User Setup Options. . . 1-44
Help. . . 1-47
Custom Configurations on Networks. . . 1-47
Command Line Parameters. . . 1-47
Formatting Floppy Diskette . . . 1-48
Copying Floppy Diskettes . . . 1-48
Quitting CF . . . 1-49
TUTORIAL -- Chapter 2: File Viewing and Editing:.............. 2-51
Viewing a File. . . 2-51
Record Delimiters. . . 2-51
Information Area. . . 2-51
Line Wrapping. . . 2-52
Cursor Movement. . . 2-52
Find a String. . . 2-53
iv
Leading and Trailing Blanks in the Data Window. . . 2-53
Editing a File. . . 2-53
Edit Mode Limitations. . . 2-54
Typeover vs Insert. . . 2-54
Editing a Line. . . 2-54
More on Record Delimiters. . . 2-54
Alt- Keypad and Alt-N. . . 2-55
Changing Case . . . 2-55
Block Operations. . . or the REAL Power of CF's Editor. . . 2-55
Marking a Block, and the Copy Buffer. . . 2-55
Delete, Copy, Move. . . 2-56
Restoring from Inadvertent Block Deletion. . . 2-56
Sending a Block of Text to the Printer. . . 2-56
Replace and Global replace. . . 2-56
Leaving Edit Mode. . . 2-57
Saving File in Mid-Session . . . 2-57
Creating a New File with the Editor. . . 2-58
Help. . . 2-58
TUTORIAL -- Chapter 3: The TREE Functions:.................... 3-59
The Display. . . 3-59
Copying structures. . . 3-60
The "Copy Into" Function. . . 3-62
Moving structures. . . 3-63
Copying Just the Files. . . 3-63
Copying Just the Directory Array. . . 3-64
Deleting Structures . . . 3-64
Delete Just the Files. . . 3-65
Show the File List. . . 3-65
Find (Goto) a File. . . 3-65
Goto a Directory. . . 3-66
Find Text. . . 3-67
Viewing or Editing Files. . . 3-67
Deleting Files from the File List. . . 3-67
Print a Hard Copy of the Tree or Found Files. . . 3-68
Precaution Regarding ~TRASH~. . . 3-68
Help. . . 3-68
Leaving the Tree Functions. . . 3-68
TUTORIAL -- Chapter 4: Launching User Applications:........... 4-69
v
Terminology: User Application as "Child" Program. . . 4-69
Resident Footprint of CF. . . 4-69
"Shelling" to DOS. . . 4-70
Review of DOS Command Line Structure. . . 4-70
Launching a Program from the Main Screen. . . 4-71
Immediate Execution. . . 4-71
Execution with Command Tail. . . 4-71
Execution with a Single File Name in the Command Tail. . . 4-72
"Seeding" the Command Tail. . . 4-72
Changing the Command Tail "Seed" Delimiter. . . 4-73
Customizing Your User Application File Specifications. . . 4-73
A Further Execution Option _ Instant ZIPping/UNZIPping. . . 4-75
ZIP a File. . . 4-75
Now UNZIP a File. . . 4-76
Tailoring CF for custom ZIP/UNZIP spec. . . 4-77
Using Other Compression Utilities 4-77
Specifying a Password for Access from Screen Saver. . . 4-78
REFERENCE -- Description by Operation:.................... OpRef-79
DISK/DIRECTORY OPERATIONS: OpRef-79
FILE OPERATIONS: OpRef-80
FILE EDITING/VIEWING: OpRef-83
TREE OPERATIONS: OpRef-83
APPLICATION LAUNCHING (CHILD PROCESSES): OpRef-86
DISPLAY ENHANCEMENT FEATURES: OpRef-88
MISCELLANEOUS: OpRef-89
MEMORY MAPS - Information on Memory Allocation 90
vi
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
INDEX TO TOPICS AND OPERATIONS:
Topic or Operation Module Command Page
Appending files:
to target panel Main Alt-T, then C 1-41
to source panel Main Alt-T, then B 1-41
Application launching: See
Child process execution
ASCII entry with keypad: Edit Alt-Keypad 2-55
Attributes, directory:
toggle "Hide", at curs Main 2 1-40
toggle "Hide", at curs Tree 2 3-59
Attributes, file:
toggle "Read", at curs Main 1, no tags 1-40
toggle "Read", tagged Main 1, w/ tags "
toggle "Hide", at curs Main 2, no tags "
toggle "Hide", tagged Main 2, w/ tags "
toggle "Sys", at curs Main 3, no tags "
toggle "Sys", tagged Main 3, w/ tags "
toggle "Arcv", at curs Main 4, no tags "
toggle "Arcv", tagged Main 4, w/ tags "
zero all attrs, at curs Main 0, no tags "
zero all attrs, tagged Main 0, w/ tags "
Back up files in directory: 1-34
file at cursor Main B, no tags
tagged files in direc Main B, w/ tags
Block operations: Edit 2-55
Case options: Main Ctl-E 1-31
Ind-9
Change directories:
to directory at cursor Main Enter 1-32
to parent directory Main P "
show direc in opp panel Main Shf-Enter "
show parent in opp panel Main Shf-P "
to root directory Main \ "
Tree Home 3-60
Change to new drive or disk: Main N 1-32
Tree N 3-60
Child process execution:
Shell to DOS Main S 4-70
quick execute file at Main Q 4-71
cursor, no command tail
ready file at cursor Main X 4-71
for execution
seed command tail with Main Alt-C 4-72
full path spec to file
at cursor
seed command tail with Main Alt-T 4-72
name of file at cursor
edit command tail and Main Alt-X 4-72
execute readied file
execute readied file, Main Shf-X 4-72
no edit of command
tail
execute readied file, Main Ctl-X 4-72
first adding name of
file at cursor to
command tail
assign executable files Main Shf-F10 4-73
to Function Keys
Color palette: Main Ctl-P 1-31
Command line parameters: 1-247
Compare mode, toggle: M/T Ctl-C 1-43, 3-60
Ind-10
Concatenating files:
to target panel Main Alt-T, then C 1-41
to source panel Main Alt-T, then B "
Configuration file: 1-147
Copy operations:
file at cursor to target Main C, no tags 1-33
tagged files to target Main C w/ tags "
freshen one directory Main Shf-F 1-38
from another
structure, incl files Tree C 3-60,3-61,3-62
structure w/o files Tree Alt-C 3-64
text in marked block Edit Alt-C 2-55
Copy with rename: Main Alt-R 1-38
Create new file: Main F 2-58
Cursor movement:
in directory listings Main 1-31
in tree structures Tree 3-60
in editor Edit 2-52
Data entry window: All 1-39
Date/time, change file: Main Alt-F 1-40
Date/time, display system: Main 5 1-44
Definitions:
~TRASH~ directory 1-35
Child process 4-69
Compare mode 1-143
Hide mode "
Kernel 1-27
Module Ov-21,1-27
Overlay 1-27
Source panel 1-30
Target panel "
Ind-11
Delete operations:
"soft" vs "hard" 1-35
resetting D to hard 1-45
file at curs, soft Main D, no tags 1-35
file at curs, hard Main Ctl-D, no tags "
tagged files, soft Main D, w/ tags "
tagged files, hard Main Ctl-D, w/ tags "
directory at cursor Main D, dir void 1-33
structure at curs, soft Tree D 3-64
structure at curs, hard Tree Ctl-D "
text in marked block Edit Alt-Y 2-56
line of text Edit Ctl-Y 2-54
word of text Edit Ctl-T "
text to end of line Edit Ctl-D "
Directory:
delete (only if empty) Main D 1-33
delete direc structure Tree D or Ctl-D 3-64
make new Main M 1-32
Tree M
rename Main R 1-27, 1-37
Tree R 3-60
display subdir in srce Main Enter 1-32
display subdir in trgt Main Shf-Enter "
display parent in srce Main P "
display parent in trgt Main Shf-P "
display root in source Main \ "
display root in target Main Shf-\ "
display source in trgt Main Shf-* "
Display options:
show Hidden files, Main Ctl-H 1-43
dirs; toggle Tree Ctl-H 3-60
Compare mode, toggle Main Ctl-C 1-43
Tree Ctl-C 3-60
define filename Mask Main Ctl-M 1-44
Find text Tree Shf-F 3-67
Goto (find) directory Tree Alt-G 3-65
Goto (find) file Tree G "
Show file list Tree S "
attrs, size in K Main - 1-40
no attrs, full size Main + "
Ind-12
DOS, Shell to: Main S 4-70
Edit file at cursor: Main E 2-53
Edit file from notes screen Main Alt-E 1-42
Edit file from tree file Tree E 3-67
list:
File Masking: Main Ctl-M 1-44
File sorting: Main Ctl-O 1-38
Fill floppies from source Main Shf-i 1-38
Find file:
from main module Main Shf-T, then G
from tree module Tree G 3-65
Find string: Edit Alt-F 2-53
Find text: Tree Shf-F 3-67
Form feed printer: Main Ctl-F/2 1-42
Tree Ctl-F/2
Edit Ctl-F/2
Freshen directory from Main Shf-F 1-38
opposite panel:
Function Keys:
assign applications to Main Shf-F10 4-73
Function keys
ready app at F1-F9 Main Fn 4-74
for execution
execute readied Fn app Main Alt-X, 4-75
Shf-X, or
Ctl-X
execute app to operate Main Ctl-Fn 4-74
on file at cursor
execute app to operate Main Shf-Fn 4-74
on constructed command line
Ind-13
Global replace string: Edit Alt-G 2-56
Goto file: Main G, then name 1-31
Tree G, then name 3-65
Goto subdirectory: Main Alt-G, name 1-31
Tree Alt-G, name 3-66
Help, on-line: Main H Ov-21, 1-47
Tree H,F1 3-68
Edit Alt-H, F1 2-58
Hide mode, toggle: M/T Ctl-H 1-43, 3-59
Integrity data:
Change file name Main Alt-I Ov-23
Kernel, resident, set size: Main K
Launching applications: See
Child process execution
Limitations:
dir size (300,600,1200) Main Ov-24
file size in edit mode Edit "
memory required (204 kb) "
tree entries (1700 dirs) Tree Ov-25
dir nesting (8 levels) M/T "
Make new directory: Main M 1-32
Tree M
Masking, in direc listing: Main Ctl-M 1-44
Monitor options: Ov-23
Moving operations:
files Main Shf-C 1-34
structures Tree Shf-C 3-63
block of marked text Edit Alt-V 2-55
Ind-14
New drive or disk, change: Main N 1-32
Tree N 3-60
Notes: edit Main Ctl-N 1-42
view Main Shf-N "
NULL character, entering Edit Alt-N 2-55
Options, user, saving Main Shf-S 1-44
Options, user, setting Main Shf-O 1-44
Ordering scheme, select: Main Ctl-O 1-38
Password, entering: Main Shf-F10 Ov-22,4-78
Printing:
put file in print queue Main L 1-41
look at print queue Main Shf-L "
cancel print queue Main Ctl-L 1-42
print directory listing Main Alt-L 1-43
print directory listing Main Shf-N or Ctl-N, "
with notes then Alt-L
print tree structure Tree Alt-L 3-68
Print marked text block Edit Alt-P 2-56
Output block to file Edit Alt-O 2-56
Quitting:
to DOS from main module Main Esc-other, or 1-49
Alt-Q
to DOS from tree module Tree Alt-Q 3-68
to main from tree module Tree Esc or Enter "
to main from file edit Edit Esc 2-57
to main from file view Edit Esc or Enter 2-57
Relist panel from disk Main Shift-R 1-32
Tree Shift-R
Remove (Delete) directory: Main D (must be void) 1-33
Rename file or directory at Main R 1-27, 1-37
cursor: Tree R 3-60
Ind-15
Replace string: Edit Alt-R 2-56
Resident kernel, set size: Main K
Screen saver:
normal timeout to Main Ov-22
forcing before timeout Main Ctl-S Ov-22
freshening directories Main Ov-25, 1-46
after return, switch
setting
Security features:
cleared slack space Ov-23
password access denial Main Ov-22, 4-78
Self-checking: Main Ov-23
Setup options: Main Shf-O 1-44
Shell to DOS: Main S 4-70
Sorting of (Ordering) files: Main Ctl-O 1-38
Startup options: 1-47
Subdirectories:
make new Main M 1-32
Tree M
rename Main R 1-27, 1-37
Tree R 3-60
Tagging operations on files:
toggle Tag at cursor Main T or Space 1-33
toggle All tags in direc Main Ctl-A 1-37
clear or set All tags Main A 1-33
all files same naMe as Main Alt-M 1-37
all files same Ext as Main Alt-E "
all files Newer Main Alt-N "
all files Older Main Alt-O "
all files same Date Main Alt-D "
tag in oPposite panel Main Alt-P "
"Append" or "Alt" Tag Main Alt-T 1-41
Ind-16
Time/date, change file: Main Alt-F 1-40
Time/date, display system: Main 5 or % 1-44
TSR's, precaution about: Ov-24
UNZIPping with PKZIP utils:
with command line edit Main U 4-75
no command line edit Main Shf-U "
View file at cursor: Main Enter 2-51
View file from notes screen Main Alt-V 1-42
View file from tree file Tree V 3-67
list:
Volume label, setting: Main V 1-44
ZIPping with PKZIP utils:
with command line edit Main Z 4-75
no command line edit Main Shf-Z "
designating files to ZIP Main T/Alt-T "
Ind-17
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
OVERVIEW:
File Contents . . .
The following files are contained in a complete copy of the registered
edition of CMFiler Version 5.36q:
CMFILER.COM - The main program file. Run by typing CMFILER
at the DOS prompt.
CMFILER.OVY - The overlay for the main program. CMFILER.COM loads
the overlay, which becomes part of the executable
code. The user should put CMFILER.OVY in the same
directory as CMFILER.COM.
BRIEF - A two-page quick guide to CMFiler's command
structure.
SUPLMENT - Any additions and corrections to this manual
reflecting the differences between the current
version and 5.36q.
CHANGES - A verbose history of all significant changes since
Version 5.32.
INSTALL.DOC - Installation instructions and an explanation and
listing of the ASP Hub Network BBS's.
DESC_NAR.COM - A small utility to meld NDOS/4DOS-style DESCRIPT.ION
files containing file notes with CMFiler-style
NARATIVE.CF files.
DESC_NAR.DOC - Documentation for DESC_NAR.COM.
CMFILER.PIF - Windows program information file provided as a
reference. It may not be suitable in your system.
Ov-19
CMFILER.ICO - Windows icon definition file provided by a
CMFiler user.
NARATIVE.CF - A notes file for the other files, used in
CMFiler's notepad facility.
PACKING.LST - File inventory
CMFiler is not "public domain" software or "freeware". The
registered edition may not be further distributed. The shareware edition
is offered for evaluation and distribution unaltered to others, with
the understanding that, if used past the 60-day trial period, the user will
pay a registration fee of $30. I am so convinced of CMFiler's wide
usability and appeal that I will send any registered user an instant
$10 commission each and every time someone else registers a copy and cites
her or him as the source of it! Registered users may make as much money
on commissions by passing the evaluation (shareware) edition of CMFiler
to others as they care to. CMFiler must be passed as an unaltered
collection of the shareware file set.
CMFiler provides a quick, simple, "one-touch" operating environment
for your IBM-compatible 80x86-based computer running under DOS Version 3
or later. While its name implies it is a file manager, it is much, much
more. Once you have used CMFiler for a few sessions, you will not want
to struggle with the DOS COMMAND.COM command processor or your other
file managers ever again! CMFiler was painstakingly written in
Assembly language over a four-year period, carefully factoring in
the suggestions of dozens of the world's pickiest software critics. It
is compact and lightning fast.
CMFiler is capable of doing everything your DOS COMMAND.COM processor
or other file manager can do, and more, but with ease! _ displaying
two directories side-by-side; copying one or more files from one directory
to another; backing up files in the same directory; deleting or renaming
files and directories; setting file and directory attributes;
concatenating (stringing together) multiple files; viewing and editing
files; making and removing subdirectories; printing files in the
"background" while you perform other tasks; setting disk volume
labels; printing directory listings; keeping notes; displaying two
disk structures side-by-side as "trees", and performing a full set
of operations on their structures; and launching other programs _ all with
a minimum number of keystrokes and maximum "transparency".
Operations are keyed to single-letter mnemonics, making CMFiler
intuitive and easy to learn. For example, the letter C means "copy",
Ov-20
the letter D "delete", and so forth. Almost everything you need to know
about CMFiler is contained in a two-line prompt at the bottom of the screen,
or can be summoned instantly with a single keystroke (surprise! H for
"help"), with no delay for external file reading, since the help is imbedded
in the program code. There are only a few things for which you will need
to refer to this manual once you begin using CMFiler.
CMFiler employs the BIOS and DOS disk service routines which are
embedded in ROM or loaded into RAM when your computer boots, and the DOS
file operation safeguards and error flags are employed, such as denying
access to remove non-void subdirectories. I have added a few of my own,
such as protection of files against being overwritten by zero-length files
of the same name (resulting from an occasional DOS read-write failure).
CMFiler performs most operations immediately, and does not ask
for confirmation as other file managers do, unless file destruction
is involved. You must confirm with a separate keystroke, for example, that
you really do want to delete files, or that you really do want to overwrite
a more recent version of a file during a copy operation. Otherwise
CMFiler takes for granted that you are doing exactly what you had in mind,
on the basis that a mistake can be recovered
from with just a few more keystrokes. The "mass" operations, like copying
or deleting large numbers of tagged files, all have an Esc bailout.
Program Logical and Physical Organization. . .
The CMFiler program code is organized "logically" (in the
programmer's sense) into three sections, or "modules". These will be
referred to variously as the "main module" or "main screen"; the
"editor module" or "editor"; and the "tree module" or "tree functions".
Each module performs some major function or group of functions which
is fundamentally different from the rest, discussed further below. On
the other hand, the program is broken physically into two main pieces, in
this case two files, namely, the file "CMFILER.COM", sometimes referred
to herein as the "kernel"; and the file "CMFILER.OVY", or the "overlay".
The kernel contains the most vital part of the main module, the "starter",
and the overlay, which the kernel loads contiguous to itself in
memory, contains the rest of the main module, plus the editor and tree
modules. A memory map is included at the end of this manual for
those interested.
The main module displays one directory on the left side of the screen,
or two directories in side-by-side panels. The names of the subdirectories
of each directory are always shown at the top of the listing in
alphabetical order, following by the names of the files in one of
nine user-specified ordering schemes. Commands operate on a subdirectory
Ov-21
or one or more files in one panel (the source panel). Some commands,
like Copy, write to the directory in the other panel (the target panel).
The main module gives a somewhat myopic or "microscopic" view of your disk,
one directory at a time, but does so with the most complete set of file
and directory services available in any file manager today. The other
two modules (editor and tree) are accessed from the main, and the editor
may also be accessed from the tree.
The editor is called to create, edit or view a file. To edit or view
an existing file in the main module, just put the cursor on it and press E
or Enter. To create a file, press F and type in a name for the new file.
The tree module is called from the main module with Shift-T. It
displays the entire directory tree structure of one disk in the left panel,
or two trees for the same or different disks in side-by-side panels.
Whole structures ("branches") of a tree, or if you wish just the files in
one directory, may be copied, moved or deleted in their entirety. Some
file manager documentation call this kind of capability "prune-and-graft".
This capability is "macroscopic" in scope, compared to the main modules, as
it deals with the big picture of your disk organization. But CMFiler does
much more in this mode than most file managers. In addition to
the "macroscopic" prune-and-graft-type operators, you may do some
microscopic things as well, like display the files in each subdirectory as
you navigate through the tree, find a specific file anywhere on the
disk, search for a text string in all or some of the files on the disk _
even view or edit a file, and delete it without having to return to the
main file services module. This latter feature in particular makes disk
cleanup a breeze!
Security Features. . .
CMFiler incorporates security features which support its use on
systems containing sensitive information:
o You may specify a password, and change it at any time during
a session, which must be given back to reenter CMFiler once it has gone
to screen-saver mode (about 1-1/2 minutes after last keystroke from main
screen display). This password is the bottom-most field in the data
entry screen presented by the key combination Shift-F10 _ discussed in
further detail in Chapter 4.
o You may force CMFiler into screen-saver mode with the
key combination Ctrl-S. This is so that, if you want to secure access to
your computer immediately, you don't have to wait the 1-1/2 minutes for
the screen-saver and password to automatically be invoked.
Ov-22
o During any file copy operation, CMFiler always fills in
the "slack space" in the last sector with the string "cfcfcf . . . ",
to ensure that no sensitive information residual in the DOS I/O buffers
is inadvertently passed into the last sector slack space.
o If you set the option "wipe old files before HARD Delete, "
on the Shift-O user Options screen, CMFiler overwrites all the data sectors
of old files with "cfcfcf . . . " before calling the DOS file-delete
service (which does not destroy data, but alters only the directory
table). This feature ensures complete data destruction and is useful if
you deal with sensitive information.
o CMFiler employs a rudimentary check-summing routine to check
the .COM and .OVY files each time they are loaded. This routine will sense
any changes in the execution code and fixed data areas of either file, and
warn the user of the corruption. Files may become corrupted as a result of
an operating system error during data transmission, a sector going bad on
a disk, or external tampering by a person or a virus. This
check-summing feature can detect (and has detected) the presence of some
older file infecting viruses, but may be foiled by modern stealth viruses,
so do not count on it for virus protection. There is no substitute for
good antivirus software. I use and strongly recommend Wolfgang
Stiller's Integrity Master. He is President of Stiller Research and a member
of the ASP's Virus Information Panel, and a recognized expert in the
anti-virus community.
o CMFiler also protects the file integrity signature data
created by your anti-virus software from being overcopied. The
default integrity data file name is ZZ##.IM, the default assigned by
Stiller's Integrity Master, but this name may be changed with Alt-I (for
"ID name change").
Monitor Options. . .
CMFiler should work with all reasonably current
IBM-compatible CGA/EGA/VGA and monochrome monitors, though I have heard of
some problems with machines under very early BIOS (Basic Input/Output
System) versions.
When first run, if CMFiler cannot find a .CFG file containing
previously specified user option data, and does not sense a monochrome
video card installed (which only supports one color set), it knows it
cannot tell for sure what you have installed and will ask you to specify
a monitor type by pressing C, V, L, T, E or M. Your choice is recorded
by CMFiler creating a .CFG file. If you have an LCD monitor other than Tandy
or Epson, you may invoke a generic LCD color set with the letter L. For
Tandy or Epson LCD's try T or E. If you are not satisfied with the result,
Ov-23
try the choices available in the Shift-O user Option screen, lines 10 and
11, until one seems to work.
If you have a "monochrome" monitor being driven by a color card,
CMFiler senses the color card's presence, not the monitor's. Press M for
this case to force the monochrome color set.
When running CMFILER.COM from the DOS prompt, you may put one of these
six letters in the command line, preceded by the character @, and bypass
the initial question.
Precautions and Limitations. . .
There are a few precautions and limitations the user should be aware of:
o Terminate-and-Stay-Resident programs should not be launched
from CMFiler. At best you will end up with a fragmented memory
when you exit CMFiler, and at worst you will have a system crash.
o CMFiler requires a minimum of 227 kb of free memory to run. This
permits generous memory allocations for the directory listings, a
print spooler buffer, and a copy buffer. During application
launching, however, the resident portion of CMFiler can be made to
occupy as little as 22 kb, using the "Small" footprint option of the
"Kernel" command (letter K pressed from the main screen - discussed
more in Chapters 1 and 4). This is the default selection on initial
start-up.
o Maximum directory size recognized by the main module varies from
300 to 2400 entries, depending on free memory available. If the
directory size limit is reached, an informational note is given.
The rest of the directory is inaccessible, as though it were hidden.
This is a benign, non-damaging limitation.
o The algorithms used by the editor module place certain limitations
on it in "edit" mode which do not apply in "view" mode. If you
attempt to edit a file which exceeds these limitations, the editor
reverts to view mode automatically:
o Files too large to fit in available memory in one shot, or
o Files with more than 16,380 lines.
o Files with lines longer than 8190 characters if editing in
"NoWrap" mode.
Ov-24
o The tree module limits the number of entries in a directory tree
structure to 1700 total subdirectories. The limit on number of
files is strictly a function of available memory.
o The main and tree modules both limit the depth of directory
nesting to eight levels (e.g., "C:\1\2\3\4\5\6\7\8" is an example
of the most deeply nested path allowed), and the length of path
specifications to 66 characters (this is a DOS limitation).
o A limitation of DOS itself which users frequently run into and are
puzzled by, because of the cryptic error message DOS returns, is
the maximum number of entries permitted in the root directory. This
number is 112 for 5.25" disks formatted at 360kb and 3.5" @ 720kb;
and 224 for 5.25" @ 1.2Mb and 3.5" @ 1.44Mb. The error message
returned is "Access denied creating file". Be aware that the volume
label and each subdirectory is an "entry", as well as each file.
Assumption about User's Familiarity with DOS. . .
It is assumed that the user knows at least a smattering about DOS
system operation, and has at least a beginner's understanding of the use of
the DOS COMMAND.COM processor, or other file management programs. I
assume terms like "file", "subdirectory" and "path" need not be defined.
If these are alien notions, however, there are many books on DOS within
easy reach of any user.
Additional Note for Windows Users. . .
Though not designed as a Windows application, CMFiler is
operating satisfactorily as a DOS program in the Windows environment.
One nuisance feature will probably need to be corrected if you are running
it under Windows, however. The default assumption on return from screen
saver mode is that the disk directories have not been altered while CMFiler
has been idling. Under Windows, this is not necessarily a valid
assumption, since another foreground application may have operated on
the directories CMFiler was selected to when it went into the background.
Therefore for Windows users there is a switch which may be set in the
Shift-O user Option screen telling CMFiler to refresh the directory listings
on return from the screen saver.
Ov-25
Assertion. . .
I believe CMFiler is the most powerful and transparent file manager
you will ever find anywhere for its price and size. It is being offered as
a shareware utility in the hope that you will find it useful, and further
that unregistered users will remit the required registration fee of $30
in recognition of the convenience CMFiler offers. Please remember that
the shareware industry depends on the integrity, encouragement and
financial support of its user public.
Special Thanks. . .
. . .to Nick Capik, Tom Vavoso, Dave Herman, Gene Feaster and
Edward Mendelson, who found most of the subtle bugs, pushed CMFiler far past
my expectations, and challenged me to include features that turned out to
be useful to us all; to Eric Tauck, who provided an excellent and
inexpensive Assembly language programming environment, then tailored it to
my needs, and gave me some inside dope on several undocumented DOS features;
and to Wolfgang Stiller, who offered advice on CMFiler's
self-checking features. Eric Tauck's Wolfware Assembler WASM can be had
by sending $10 to Eric Tauck, 1304 Deerpass Road, Marengo, IL 60152.
Wolfgang Stiller's Integrity Master anti-virus and data security system can
be had by sending $39.50 to Stiller Research, 2625 Ridgeway St.,
Tallahassee, FL 32310.
Ov-26
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
TUTORIAL - Chapter 1: File Handling:
Getting Started , or the "Kernel" and the "Overlay":
As mentioned in the OVERVIEW above, I refer to the 22 kb CMFILER.COM file
as the "kernel", the vital part of the main module, and the 109 kb
CMFILER.OVY file as the "overlay", which contains the rest of the main
module and the editor and tree modules. Physically breaking the program
into two files served two purposes - it got around an arcane 64 KB limit
on .COM files imposed by DOS, and it let me give you two options for how
much of the program to leave resident in memory when launching
applications from CMFiler (more in Chapter 4).
For now, copy CMFILER.COM and CMFILER.OVY into the root directory of
your hard disk or a working floppy using your good ol' DOS
COMMAND.COM processor, and save a write-protected copy for your library.
With the DOS system prompt showing the drive these two files are now on,
run the kernel CMFILER.COM by entering "cmfiler" or "CMFILER". The DOS
command processor will load and execute CMFILER.COM, which in turn will
find and load the overlay CMFILER.OVY. The whole 131 kb (22 + 109) is
now residing in memory, ready to respond to commands.
The first thing you will likely see is a request for monitor information.
CMFiler cannot distinguish between a color monitor and an LCD monitor, and
the default color set for the color monitor is a poor choice for most
LCD monitors. When you see the message, press C, V, M, L, E or T for
the monitor you think most closely describes yours. (It can be changed later).
CMFiler will create a file of user configuration data (called CMFILER.CFG)
in the same directory the .COM file is in. It will update this file as
you select other setup options.
Rename CMFILER to Spare My Fingers. . .
Now, feel free to rename CMFILER.COM to "CF.COM" for short, and the
overlay and configuration files from CMFILER.OVY and CMFILER.CFG to
1-27
"CF.OVY" and "CF.CFG". (It is important to keep all these files named
the same, by the way.) In fact I will refer to them simply as "CF" from
here on, since that results in fewer keystrokes for me! Put the cursor on
the line reading "CMFILER COM" and press the letter R (for "rename").
A window will open up at the bottom that says:
Rename CMFILER.COM
to >CMFILER.COM<
with the cursor blinking on the first position in the data entry field
denoted by the "> <" pair. (CMFiler is assuming that you want to rename
just the CMFILER.COM file, since the most frequent use of the rename facility
is renaming single files; and is offering you the same name as the
"default" entry in the new name field, since often when you rename a file,
you may be only changing a few characters.)
In this case we want to rename all the files that start with "CMFILER";
that is, we would really like to use the DOS "wild card" convention "*". If
we were renaming this family of files from the DOS prompt, we would type in
the command "ren cmfiler.* cf.*". In the CMFiler rename facility, the
upper line is the first parameter of the DOS rename command, the lower line
the second. We therefore want the upper line to read "CMFILER.*". To do
this, press either the up arrow or PgUp, and press Tab to move over to the
"C" in "COM". Type "*". and press Enter or down arrow. Now the window reads:
Rename CMFILER.*
to >CMFILER.*<
Simply type "CF.*" and press Enter. The files are now renamed.
This quick exercise sounded complicated when you read it, but won't be
when you try it. And it illustrates a few "nice touches" I have tried to
build in to minimize your keystrokes.
From here on the explanations are not so detailed. I recommend you
fiddle with scratch directories initially, until you are familiar with all
of CF's capabilities. If you are running DOS Version 2, put CF, both the
.COM and .OVY files, on one of the paths defined in a DOS "path" command,
so that it can "find" itself after running other applications. This is
not necessary under DOS Version 3 and later.
The Screen. . .
You should by now have noted an economy of screen usage. The left
panel shows the contents of the current directory on the default drive.
1-28
Line 1 of this active panel shows the disk volume name if any, and a prompt
area for four display enhancement features: the key combination Ctrl-O (denoted
by ^O to save space) allows selection of one of nine file Ordering schemes;
^H toggles the "Hide" mode switch; ^C toggles the "Compare" mode switch; and
^M allows specifying a file "Mask". Line 2 shows the path to the
current directory. In 25 line video display mode, the first 20
entries, directories first, then files, are displayed in lines 3-22. Line
23 gives vital information about the disk, such as room left, and lines
24-25 contain an abbreviated help screen.
The thick versus thin sections of the vertical line to the left of the
file list denote the relative position and size of the current screen
display within the full directory listing.
If you do not press a key within about 1-1/2 minutes, the screen goes
into screen-saver mode. Just press any key to return to the main display.
You may force the screen-Saver mode with Ctrl-S.
The Help Area. . .
The two-line help area at the bottom of the screen contains a set
of abbreviated cues to assist with the recollection of the mnemonic
single-key commands. With no "modifier" keys pressed [i.e., the
Shift-, Alt-and Ctrl- keys all up], the help area shows the
operations available with the unmodified keys, with the mnemonic
code highlighted. These are typically the most frequently used operations;
the letter C for "Copy file(s), E for "Edit file", D for "Delete file
or directory", T for "Tag file", the number 1 for "toggle the file
Read-only attribute", and so forth.
Additional commands are available which use similar mnemonic devices,
but with the keyboard modified by Shift-, Alt- or Ctrl-. Press one of
the Shift- keys, and notice the change in the bottom lines. These are
the commands enabled by the letters shown in highlight, modified by the key
you are holding down. Press Ctrl- and Alt- in turn. All these operations,
both "unmodified" and "modified", will be explained as we go along. Just
be aware that the visual cues for the modifier keys are there when you
want them.
More on the "Modifier Keys". . .
Incidentally, there is some rationale for which of the Shift-, Alt-or
Ctrl- keys was used as the modifier for a particular "modified" operation,
and there are some devices which may help you remember the modified keys
as well as the more straightforward mnemonic devices of the unmodified keys:
1-29
o The modifier "Shift-" is often used for operations involving
transfers of control or data to or from the other panel. For
example, Shift-Enter, when the cursor is on a subdirectory entry, means
display this subdirectory in the other panel and jump across to it.
Other commands which follow this convention, and which you will encounter
in more detail, are Shift-Left/Rt Arrow, Shift-P, Shift-*, Shift-\,
and Shift-F.
o The modifier "Ctrl-" is most often used to "toggle" the state of
a "switch" or "tags" - that is, to invert something. For example,
Ctrl-H toggles the state of the "hide switch" , i.e., if Y ("yes" or "on")
it goes to N ("no" or "off"), if N it goes to Y. Other examples
include Ctrl-O, Ctrl-M, Ctrl-C, Ctrl-A, and Ctrl-L.
o The modifier "Alt-" is most often used just to indicate an
operation associated with a mnemonic alphabet key, but for which the
unmodified key was already in use as a mnemonic for a more frequent operation.
For example, C means "Copy", and is one of the most frequent operations;
Alt-C means "add file spec to Command tail", and is used far less frequently.
(In the editor, Alt-modified keys are used a lot, since the unmodified keys
are used for typing text!)
Two Panels. . .
Each "panel" corresponds to a "path" to files, in the DOS vernacular,
and the terms "panel" and "path" are used interchangeably throughout. Open
the right panel by pressing the right arrow. You will be prompted at
the bottom of the screen to specify a drive letter. (The bottom lines
become the "dialog" area for information to you about what CF is doing, or
what it is waiting for you to do.) Just press the letter corresponding to
a valid drive - don't press Enter, just a letter key. The current directory
of that drive will be shown in the right panel in the same format as the
left panel. The bright yellow color of the path specification on line 2 and
the blinking cursor now identify the right panel as the "source" path.
The left panel has become the "target" or "destination" path for the copy
, append and move operations.
Whenever CF is in "Compare" mode and the cursor is on the name of a file in
the source panel that also happens to exist anywhere in the target path,
the target panel display is adjusted so that the file appears in the panel,
and its date/time signature is put in high-intensity to catch your eye and
show you the duplication. If the date, time and size of the two files are
not the same, the date/time signature of
the newer file will blink. You can toggle compare mode off and on with the
key combination Ctrl-C (for "Compare").
1-30
Color Palette. . .
For display in CGA/EGA/VGA systems, CF has four choices of color palettes.
The command Ctrl-P (for Palette) lets you cycle through the choices with
the spacebar, and select a different color scheme with Enter or return to
the original one with Esc. The choice may be permanently recorded in the
.CFG file (discussed in more detail later).
Alphabetic Case Options. . .
CF also has four options for the alphabetic cases used in the
panel displays. The command Ctrl-E (for casE) lets you cycle through
the choices with the spacebar, as in the Palette above, which are: 1)
files and directories all upper case, 2) directories in upper case, files
in lower, 3) all in lower case, and 4) all in "modified-Tauck"
convention, where all letters are lower case except the first and any
that follows a non-alphabetic character (e.g., Cmfiler.Com or Read-Me.1St).
Case 2 is the default, but I find case 4 easiest to read.
Cursor Movement. . .
Shift back and forth with the left and right arrow keys. You are in
effect switching source and target paths. Use the up/down arrows,
PgUp/PgDn, Home and End keys to move the cursor within a panel. PgUp moves
the cursor to the top of the panel if it was not already there, and then
moves up one page in the directory. PgDn is similar for the opposite
direction. Home goes to the first line of the directory, End to the last.
If a mouse driver is installed, CF will respond to mouse movement by
opening a five-symbol menu bar beside the highlighted entry. Click the
left button on the triangular up or down arrow symbol for PgUp or PgDn.
Click on the triangular left or right arrow symbol to jump across to
the opposite panel.
The command G (for "Go to...") lets you type in a file name to move
the cursor to within the directory listing. As you type, the cursor
is repositioned to the first file described by the character string you
are building. When you have come to the file you want, press Enter or
Esc. Alt-G is the equivalent "Go to. . ." for subdirectories.
1-31
In Compare mode, whenever there is a duplicate file name highlighted in
the opposite panel, you may jump directly across to it with the
move Shift-Left/Right Arrow, vice the unmodified arrows.
Switching Drives or Disks. . .
CF cannot tell when you have changed disks in the drive whose contents
are shown on one of the screen panels. You have to tell it by putting
the cursor in that panel and pressing Shift-R (for "Relist"), or N (for
"New disk"), and then the letter designator for that drive at the
ensuing prompt. If you want to switch drives, say from A to B for
the right-hand panel, put the cursor to the right, press N and B.
Alternatively, click the left button on the three-line menu symbol in
the mouse bar, click on the "New drive" line, and highlight and click on
the letter of the desired drive.
Sometimes when you are doing single-panel operations, like constructing
a note set or editing files, it is a distraction to have both screen
panels open at once. To close the right-hand panel and return to
single left-hand panel display, put the cursor in the right-hand panel
and press N and Enter.
Subdirectories. . .
Make a new subdirectory in the source path by pressing M (for the
DOS command "Mkdir") and entering a name. CF will create this directory
and put the cursor on it. Press Enter. Note the new path on line 2 of
the screen display, and only the "<Parent>" entry in the file listing. Go
back to the parent directory by pressing Enter with the cursor on
the "<Parent>" entry, or P (for "Parent") with the cursor anywhere in
the panel. You can navigate down and back up through the directory levels in
a path this way, one level at a time. If you are several levels deep, there
is another quicker way back to the root directory than by hitting P
repeatedly, and that is by pressing the backslash key \. It works like the
DOS command "cd \".
To change directories using the mouse, highlight the directory name
by moving the mouse up or down, move the mouse left to highlight the
left-arrow symbol, and click the left button. (Clicking on this leftmost
mouse bar arrow symbol always has the same effect as hitting the Enter key.)
To put a subdirectory from the current source panel list into the
1-32
target panel, put the cursor on its name and press Shift-Enter.
The subdirectory is listed in the opposite panel, and the cursor shifts over
to it. In similar fashion, Shift-P puts the source panel's parent
directory into the opposite panel, and Shift-\ puts the source's root into
the opposite panel. Finally, Shift-* puts the source directory itself into
the target. This is handy for quickly setting up the same
directories side-by-side for ZIPping/UNZIPping, discussed in Chapter 4.
Remove a subdirectory by placing the cursor on it and pressing D
(for "Delete", which I use interchangeably for file deletion and
subdirectory removal). Note that the subdirectory has to be empty first -
a DOS safeguard that I have preserved.
Copy Some Files, then Do It with Tags. . .
Put the cursor on a file name and press the letter C. This copies the
file from the source to the target path. "Tag" several files with the letter
T or the Spacebar or with the mouse right button. Now press C to copy
this group from source to target. Clear all the tags with A (tag/untag All).
Press A again, and see that all the files are now tagged. Untag an
individual file with T. ("T" actually toggles the state of an internal tag
bit assigned to each file and used for temporary marking purposes only.
"A" clears all the tags if any were set, or sets all the tags if all
were clear. No information is changed on the disk itself. These are
"volatile" tags, maintained only until the directory is re-read for
some reason, such as a file deletion or a copy operation into the directory.)
Copying files is also a selection in the mouse menu, popped up by
clicking on the three-line symbol in the mouse bar.
CF looks first at the space available on the target path before it starts
to copy. If it doesn't see enough room free, it doesn't start the
operation, and alerts you to this limitation. This prevents write
errors, messed up file allocation tables and incomplete files that can
result when space runs out during a copy operation.
CF has several special features in the copy operation:
o If an identical file exists in the target path - same
name, extension, date, time and size - CF does not normally copy the source
to the target, as this would be wasted motion, on the assumption that the
files are identical. This "no overcopy" feature is controlled by one of
the switches which may be toggled in the user options menu brought up with
the command Shift-O. It is sometimes useful to change its state.
1-33
o If a file by the same name but newer date/time is
found on the target, CF will ask you specifically to verify that you really
do want the newer file overwritten.
o If the source and target files have the
same date/time but the source is a different size, CF will ask for
overwrite confirmation. If the source file has length 0 bytes, it will
never overwrite a non-zero-length target. Zero-length target files will
always be overwritten by non-zero-length source files of the same
name, regardless of age. These features provide some protection
against overwriting good files with ones which have become corrupted
by previous copy errors.
o If a file by the same name but with the read-only attribute set
is found on the target, CF will ask you to verify that you want it
overwritten. (Likewise if the target file is hidden and the hide switch
is on.)
Tagging, Backing Up. . .
With a couple of files tagged, look at the line just below the last line
of the directory listing. You will see the space in use in the
current directory ("KB Used"), the amount of disk space occupied by any
tagged files ("Tagd") and the space still free ("Free"). Also, in the
line below will appear after each tagging operation the current number of
files tagged. Disk space is expressed in kilobytes, in integer multiples of
the disk media cluster size, so what you see is the amount of space
actually tied up on the disk. (If your disk is a 5.25" DSDD floppy its
clusters are one kb each. Every file takes up at least one cluster, so a
1-byte file takes up a one kb of disk space, the same as a 1024-byte file.)
Assuming the amount of space represented by tagged files is less than
or equal to space available, press B to back up all the tagged files.
CF's convention for assigning backup file names in this operation is to
reuse the name and the first two letters of the extension (filling blanks
with exclamation points if necessary), and then make the last letter of
the extension a tilde character (~).Thus the backup should always
immediately follow the primary file in any alphabetical listing.
Moving Files. . .
With the panels selected to different subdirectories on the same disk,
one or more files may be "moved" from one subdirectory to the other.
This operation does not read and write the file data clusters, but only
1-34
changes the subdirectory table entries, so large files may be moved
around quickly. Tag files if desired, as with Copy, and press the move
command Shift-C (instead of C - think of moving as just another kind
of "copying", but you are "shifting" files to a different directory instead).
If the conditions are not satisfied for moving the files (e.g.
the directories are not on the same disk), CF will copy the files to the
target path, and then ask for confirmation that you want to hard-delete
the source files to complete the move operation. This encumbrance
is deliberate; because CMFiler is so fast, I have made it require
confirmation whenever any file destruction is involved.
Deleting a File. . .
With the cursor on a file and no files tagged, pressing D results
in deleting the file at the cursor, after confirmation. If one or more
files are tagged, they will be deleted after confirmation, not the file at
the cursor. Alt-Tags, discussed
below, are treated the same as normal tags as far as the delete operation
is concerned.
On hard disks, the default configuration of CF actually performs what I
will call a "soft" delete for this operation. The files are not deleted
using the DOS delete function, but rather are moved into a "trash
can" directory created by CF, called "~TRASH~". If you delete files from
your hard disk by mistake, they are reliably recoverable just by switching
to the ~TRASH~ directory and moving them back to the directories they
came from using Shift-C.
If you delete a second file by the same name as a file already collected
in the ~TRASH~ directory by a previous soft delete operation, CF tries
to rename this second file by replacing the last character in the
extension with a "1". If this name is already in use, it tries to rename with
a "2" instead, then a "3", and so on, through "9". Thus, you are assured
under all reasonable circumstances of not losing any deleted files,
even duplicates.
Each time you select a new drive in the main module, CF looks to see if
it is a hard drive (A and B are always taken to be floppies), creates
the directory ~TRASH~ if it is not already present, and then looks in
~TRASH~ for the presence of files. If it finds any, it will ask you if you
want to purge them - that is, perform the "hard" DOS file delete on the
current trash. You have the options "yes", "no", or "Enter to view" to see
what is in the trash can. You probably want to keep the ~TRASH~ as
uncluttered as possible, just to avoid tying up disk space needlessly. If
you prefer to "empty the trash" less often than daily, be prepared to
be pestered with the same question the first time you select that disk
1-35
each day! (The D command always performs a "hard" delete in the
~TRASH~ directory -this is the one exception.)
This "soft" delete facility is not intended as a means of backing up
files, but rather is built in solely for the purpose of reliable recovery
from inadvertent file deletion.
An additional delete option is available - Ctrl-D, or "hard" delete.
This operation performs the DOS delete always, regardless of the type
disk selected. Use it when you know you will not want to recover the
deleted files. If you wish to obliterate all data in files before issuing
the hard delete command, set the flag "Wipe old files . . . " in the
Shift-O user Options screen.
And if you are really sure of yourself, you can turn D from soft delete
to hard delete. There is a switch available for this purpose also in
the Shift-O user Options menu mentioned above.
The Tagging Convention Expounded on. . .
For all the above commands (copy, delete, move, back up), the operation
is performed on all the tagged files in the source panel, if any are
tagged, and only on the file at the cursor if none are tagged. Some
file managers offer different commands for "copy tagged" and "copy file
at cursor", and so forth. I have always found this unnecessarily
complicated. For the few occasions in which you have a bunch of files tagged
to do one of these operations (say you want to copy them), and you
discover just before you start that you really wanted to do some
other operation on just one of them first (say you realize one of them
is out-of-date and you want to delete it), you will have to either untag
them all with A, do the operation on the one file, then retag and do
the original operation; or just postpone the one-file operation. For
this example, it is easier just to toggle the tag on the one out-of-date
file off with T, copy the other bunch, clear the tags, and delete the one.
It becomes just a matter of a little thought about the order in which you
do things.
The "view" operation (discussed in Chapter 2) does not clear existing tags.
So, suppose you are cleaning up a disk, tagging files that you recognize
by name as no longer needed in preparation for a single, massive delete,
and you come to one you aren't sure about. Put the cursor on it, press
Enter (the "view" command), browse through it and decide if it's a keeper,
and Esc from view mode. Note the previously placed tags are still there,
and the cursor is still on the mystery file waiting for you to decide
whether or not to tag it.
1-36
Renaming a File or a Directory. . .
Since we've already done this, I'll just briefly say that it works
for directories, too. A word about the wild card character "*". In the
earlier exercise, we used it in the first window to declare that we wanted
to rename all the files with "CMFILER" as the name, and any extension, to
"CF" with the same extension. You may use the "*" in the name field of
the first window instead of the extension, but not in both. Used in the
name field, it means "change this extension, wherever it appears, to this
other extension". This option is less useful.
If used in the first data window, the "*" must also be used in the
second window in the same position. CF always senses the use of "*" in
the first window, and seeds the second window with this character in the
right position.
The "*" may be used in the second window, even if not in the first, as
a shorthand for "keep the same name (extension)". For example, if you wanted
to rename just "PACKING.LST" to "PKG.LST", put the cursor on "PACKING.LST"
in the source panel, press R, type "PKG.*" in the lower window, and Enter.
Saves some keystrokes. This is a wild card convention taken from DOS.
(Sorry to you DOS heavies - for simplicity I chose not to complicate things
by including "?" in the wild card library for this facility!)
Some Additional Tagging Options. . .
In addition to T or spacebar (which toggles the state of an
individual file's "normal" Tag) and A (which clears or sets All tags),
there are some more tagging operations. Alt-T applies an "append
tag", discussed later. Alt-M tags all the files in the panel with the same
naMe as the file under the cursor, Alt-E same Extension. Alt-D tags all
files in the panel with the same Date as the file at the cursor, Alt-N tags
all files Newer, and Alt-O Older. Alt-P tags in the oPposite panel all
the files with the same names as files tagged in the source panel.
And finally, Ctrl-A toggles the state of All tags in the panel.
If, for example, you wanted to copy all .COM files, put the cursor on
any .COM file, press Alt-E, and C. Or suppose that, at the end of the day,
you wanted to copy/update all the files written or revised today. Just put
the cursor on any file with today's date and press Alt-D and C. Then
suppose you wanted to delete all the earlier files. Press A to clear the
tags, Alt-O and D, and confirm the deletion as requested, after a final
check of the screen.
1-37
Copy with Rename. . .
You may copy a file and rename it in one operation. Only one file at a
time may be copied in this way. The command is Alt-R (copy with Rename).
It operates only on the file at the cursor.
The Floppy "Filler". . .
CF can fill a collection of floppy disks from a hard disk directory. This
is good for making wholesale backups. Select in one panel the directory
from which you want to fill (the source). Tag all the files you want to
copy (CF will tag them all if none were tagged), and press Shift-i (for
"fill"). CF will first ask which floppy drive to fill to, and how much space
you want to reserve on each floppy for future growth. Then it will copy as
many files as it can to that drive, and prompt you to insert the next disk.
If the disk is not already formatted, CF will ask what density you want,
and then format the disk before continuing with filling. CF will repeat
this process until the whole directory is copied.
This floppy filler is "smart". It first looks at each floppy to see if
there are existing files that need to be updated, and copies them first.
Then it copies other files to fill the remaining space if it can. Thus
the floppy filler can be used to update a set of existing backups as well
as create a new set.
After each floppy disk is filled, the source files that were
successfully copied are untagged. You may interrupt the fill operation and
then resume it where you left off, as long as you leave the source panel
with its tagged files as-is.
The File Freshener . . .
CF can also freshen the files in one directory from another.
The convention is to freshen the source from the target, so it works
opposite the floppy filler. With the source panel set up on the directory to
be freshened, and the files tagged that you want freshened (CF will tag
them all if none are tagged), CF will update the directory by copying from
the target all the newer files whose names match tagged files in the source.
Different Ways to Show the Files. . .
Ctrl-O (for "Order") sets a screen which gives nine choices for
file ordering, with the current selection highlighted. Press a number key
1-38
1 through 9. The files will now be reordered in the new scheme. You
may toggle the sort algorithm between "bubblesort" and "quicksort" with
the letter A.
The Data Entry Window. . .
The data entry window defined by the "> <" pair you encounter for input
data responds to most of the usual line-editing key presses:
o The Insert key toggles between Typeover and Insert mode. The
mode stays set for each subsequent entry. In Typeover mode, any default
entry is cleared if the first keystroke is an alphanumeric character.
o Ctrl-Lf/Rt Arrow and Tab/Shift-Tab go right or left to the
space following the next blank or punctuation mark.
o Shift-Lf/Rt Arrow goes to beginning or end of data field.
Home goes to the beginning of the field. End goes to the first blank
following the last non-blank character.
o Lf/Rt Arr, Bksp and Del perform the usual functions.
o Alt-Keypad permits entry of any ASCII code as a decimal number.
Hold down the Alt-key while you type in a number from 1 to 255 on the
numeric keypad. When you lift the Alt-key, the IBM symbol for that ASCII
code will appear in the window, and the cursor will advance a space.
o Ctrl-D deletes to the end of the line.
o Esc cancels the operation.
o Down Arrow and Page Down are equivalent to Enter. In some cases,
Up Arrow or Page Up moves up a line. (The rename facility in the main
module and the "replace string" facility in the editor use this convention.)
For entering file names and subdirectories, all letter keys are
registered as upper case, regardless of Caps Lock or Shift-key positions,
just for the sake of uniformity and ease of alphabetizing. For command
lines parameters, which may be case-sensitive, both cases are enabled.
1-39
Disk Space Occupied versus Actual File Size. . .
Now take a look at the file listing. You see the name of the file,
date, time and size in kb. As with the disk space information just below
the file list display, size is in integer multiples of clusters occupied.
If you want to see exactly how big a file is, in bytes, press "+" to expand
the size field. (I had to give away the file attributes to do this and
still keep the two panels readable.) Shift back to the "contracted"
kilobyte form of file size with "-".
File Attributes. . .
Also in the file list, to the far right in each panel, you will probably
see A's. This means that the DOS "Archive" attribute bit is set in the
file attribute byte. DOS sets this bit every time it operates on a file.
CF lets you operate on this bit and the other bits in the DOS file
attribute byte - "Read-only", "Hidden", and "System". Before doing
this exercise, look at the top line of the display. If you see "^Hide=N",
that means that files with the DOS "Hidden" attribute set will be
displayed anyway - i. e., the CF "Hide switch" is off. Chances are you
will see "N" instead of "Y", meaning that the Hide switch is off - the
default setting. In
the "Y" setting, files will disappear from view as you set the DOS
hidden attribute, so you need to ensure the hide switch is set to "N".
Press Ctrl-H if necessary to toggle the hide switch off.
Either tag one or more files, or position the cursor on the file
whose attribute(s) you want to set, and press 1 to toggle the state of
the Read-only attribute, 2 to toggle the Hidden attribute, 3 to toggle
the System file attribute, 4 to toggle the Archive attribute, or 0 (zero)
to clear all attributes. You may also toggle the hidden attribute (with 2)
of a subdirectory, but this may be done one subdirectory at a time. Note
that "hiding" a file makes it invisible to CF only when the hide switch is
set on, as shown in the top line. Decide for yourself which setting of
the hide switch you prefer. Some people like to hide the "overhead" files
and directories on their disks, and leave the hide switch on as the
default setting to "clean up" the display.
Changing the Date/Time Stamp of a File. . .
You may change the date/time of a file by putting the cursor on it
and pressing Alt-F. Data windows open for you to enter the new date and
time, with the old date/time as default. You may set a group of files to
the same date/time by tagging them first, then pressing Alt-F, and
confirming the operation for the group.
1-40
"Alt-Tagging" and Appending. . .
Suppose you have two files that you want to concatenate (stick together
as one, heel-to-toe). Tag them with "append" tags with the key
combination Alt-T or Alt-spacebar in the order in which you want them to
be concatenated, and press C. CF will offer you a file name for the
new concatenated file consisting of the name of the first file Alt-Tagged
plus the extension "APF" (for APpended File). You may edit or accept this
name as given. Then CF creates this file in the target path and appends
into this file each of the Alt-Tagged source files in order. You
may concatenate up to 35 files at a time this way. The order in which the
file was Alt-Tagged is shown in the character that appears to the left of
the file name as it is tagged (1-9, then a-z). Or, if you had pressed
B instead of C after affixing the Alt-Tags, the concatenated file would
have been written as a backup into the source path instead of the target.
Printing a File. . .
You can print a file to the parallel printer just by putting the cursor
on the file and pressing L (print fiLe). A menu will appear as follows:
Move cursor with Up/Dn Arrow; type option desired.
Form feed after print, if not one already? Y
Print header with file name and date/time? N
Set left margin of 0/5/10 spaces 0
Send file to LPT1 or LPT2? 1
Press Esc to cancel file print, Enter to proceed.
Modify the defaults as desired, and press Enter to print the file.
The file will be put into a special print "queue" for printing to
the parallel port of your choice as a background process while you are
doing other things, like editing another file, updating disks, etc. Up to
five files may be put in the print queue, which may be viewed with Shift-L.
At times the printer may halt momentarily during disk operations. CF
gives preference to disk operations over printing, to avoid any conflict
1-41
in time-critical operations. You may terminate printing with Ctrl-L.
This actually clears the entire print queue. To force a form feed at the end
of the file you have just queued, press Ctrl-F before you queue the next
file. CF sets an internal flag to check that the last character sent to
the printer from that file is a form feed. If it is not, then it sends
one. (Ctrl-F is active when no file is printing, also, as a way of
form-feeding the printer from the keyboard.)
Making Some Notes About Your Files. . .
If you are like me, you sometimes forget what a program with a strange
name does, or what a particular data file is. CF lets you write notes
to yourself about any file. Press Ctrl-N and a Notepad opens up in the
opposite panel for editing. You can type a little narrative for each file
or subdirectory in the directory. The editing keys work much the same as in
the line editor, except that you are limited to 39 characters for each
entry. Each time you call up the notepad, it appears as it did the last
time you edited it. You may just browse with the up/down arrows,
PgUp/Dn, Home/End, edit or add, etc. Leave the notepad with Esc or
Ctrl-Enter. If you use Esc and did any editing, you will be asked if you
want to save that edit of the notes. Exiting with Ctrl-Enter
automatically saves the edit.
From the "edit Notes" screen you may also view or edit the file opposite
the note without leaving the edit Notes environment, just by pressing Alt-V
or Alt-E. You may also attach a normal tag to the file with Ctrl-T
or Ctrl-spacebar (T and spacebar are not available, since the notes
editor would take them to be text), or an "append" tag with Alt-T or Alt-Space.
A "view Notes" command Shift-N simply replaces the target panel display
with the notes for the source panel, but all the file and directory
service commands, including the source-to-target commands, such as Copy
and move (Shift-C), are still active. However, the blinking feature in
the directory comparison mode is disabled while the opposite panel is
showing the notes.
The notepad is contained in a file called "NARATIVE.CF", and notes
follow the file when it is copied or moved to another path or renamed. If
you delete a file, its notes will be lost the next time you call up
the notepad. You may make the NARATIVE.CF file Hidden and/or Read-only
with user Options in the Shift-O menu.
If you are a 4DOS/NDOS user and you already have notes written about
your files and directories in their convention, you may convert
the DESCRIPT.ION files to the CF note file format NARATIVE.CF using the
program DESC_NAR.COM provided in the CMFiler file set. This program merges
1-42
all existing notes in DESCRIPT.ION and NARATIVE.CF files, and creates
merged files of both formats. Read the separate documentation in
DESC_NAR.DOC file.
Printing a Directory Listing. . .
Press Alt-L to send a directory Listing to line printer 1. If you do
this from either of the Notes displays, you also get a listing of the
notes, and the file size entries are either the abbreviated or full
values, depending on the display mode set in the directory table (toggled
with + and -).
Comparison Mode. . .
At the top of the screen you see a message "^Comp=Y". The "Y"
means comparison mode is enabled, so that any file in the target panel
whose name is the same as the file in the source panel will be shown and
its date-time stamp highlighted for easy identification. If the files
have different date-time, the newer version will be blinking, except
when viewing notes. You may toggle this switch with the key combination Ctrl-C.
In comparison mode there is a useful feature which enables you to
get quickly to a file with the same name in the opposite panel. In
arrowing back and forth between panels in comparison mode, with some files
by the same name in each panel, you probably noticed that the target
panel shifted as necessary to bring the duplicate name into view, but as
soon as you shifted over to the target panel, it "remembered" and adjusted
the display back to where the top line and cursor had been left, and you
lost the duplicate file from view. But suppose you had seen a more recent
file in the target panel, as evidenced by the blinking highlight, and
you really wanted immediately to arrow over to it and copy it into the source.
The Shift-Left/Rt Arrow combination does this. It resets the target
panel display parameters so the cursor goes right to the matched file name.
Hide Mode. . .
Also at the top is the message "^Hide=Y". The "Y" means that hide mode
is enabled - the screen display will not show any hidden files - those with
the hidden attribute set. This is handy for cleaning up your displays -
just hide the overhead! You may toggle the state of this switch with the
key combination
Ctrl-H. The current state of the Hide and Compare switches is set as
1-43
the default any time you do a Shift-O user Options, a Shift-S options Save,
or a Shift-F10 edit, discussed in Chapter 4 on application launching.
Mask Template. . .
Also at the top is the message "^Mask=*.*". This is a mask that lets
you sift out all but files with a certain characteristic. For example, if
you want to see only the .EXE files, press Ctrl-M, Tab, type "EXE", and
Enter. Tab and Shift-Tab position the cursor on the extension and name
fields, respectively. The left and right panel masks can be set
independently. As a visual reminder, the mask blinks whenever it is other
than *.*.
Displaying System Date and Time. . .
The display of system date and time may be toggled on or off with the
"5" key. There is no obvious mnemonic; however, one user suggested that
5 o'clock is Miller "Time".
Changing or Adding a Volume Label. . .
Press V and a data window opens at the bottom for you to enter a new
volume label for your disk. The existing volume label is offered as a
default for editing ease.
Some Safeguards. . .
As noted above, you can't remove a directory unless it is void of
files. This is a built-in DOS safeguard that CF passes along to you, since
it uses the DOS file handling services. In addition, CF asks you to verify
any requested delete operation; any requested copy operation that
would overwrite a file of the same name but newer date/time in the target
path, a read-only file, or a hidden file with the hide switch on.
Saving User Setup Options. . .
You have already read about three cases in which features can be reset
from their default (or "as-delivered") condition using a special user
Option menu summoned by Shift-O. The "soft" delete can be redefined as a
"hard" delete, the NARATIVE.CF notes file can be defined as Hidden
1-44
and/or Read-only, and the identical-file overcopy switch may be set on or
off. There are twelve such features, total, available for setting to
your specifications. When you visit this menu and then leave by pressing
Enter, the configuration file CF.CFG is updated so that these switches
settings are remembered the next time you run CF. The nature of these
twelve switches is such that you probably will not change them often.
They represent your preferences as to a standard configuration of features.
When you press Shift-O, you will see the following menu:
Move cursor with Up/Dn Arrow. Type option desired.
Define F1 as Help? Y
Redefine "D" as HARD Delete? N
Wipe old files before HARD Delete? N
Overcopy files with same date/time/size? N
Refresh directory contents after Screen Saver? N
Assign Hidden attr to NARATIVE.CF file? N
Assign Read-only attr to NARATIVE.CF file? N
Turn Screen Saver off? N
Use European date convention dd-mm-yy? N
Invert function of high intensity color bit? N
Cga/ega, Vga, Mono: LCD: Tandy, Epson, other Lcd V
VGA display: 25/43/50 lines 4
Press Esc to cancel changes, Enter to accept.
These twelve "switches" represent setup features that various users
have asked for. The default settings are as shown for the first ten.
Any switch may be toggled between Y and N by putting the cursor on it using
the Up/Dn Arr keys, and pressing the spacebar or the letter N or Y. When
you have reconfigured the way you wish, press Enter. Esc exits with no
changes. Here is an explanation of each feature:
1. In keeping with the convention most often used by other programs,
the F1 key is assigned as a "Help" call in the editor and tree modules,
and this is the default setting for the main module.
2. For those who do not wish to use the "soft" delete feature nor
be bothered with the ~TRASH~ directory, the D key may be reconfigured to
"HARD Delete", identical to Ctrl-D, by resetting this switch to Y.
1-45
3. Setting this switch causes all files to be "wiped" (their
data overwritten with "cfcfcf . . . ") before deleted with the DOS file
delete service, to ensure complete destruction of files.
4. In the default setting, CF does not waste time during file
copy operations overcopying any file in the target path that is reported by
DOS to be the same date/time and size as a tagged file in the source
path. However, sometimes you might want to mass-overwrite files on a
backup directory or disk that are suspect, even though they may appear to
be identical. Just set the overcopy switch to Y.
5. For Windows users, if you run CF in a window, it does not have any
way of knowing when it returns from the background to the foreground
whether any other application has written to the directories that it
is selected to. In the default setting, it does not refresh the file
listing (reread the directory tables). Windows users may want to reset
this switch to Y.
6. and 7. The NARATIVE.CF file, created in each directory as necessary
to contain file and sub-directory notes, may be assigned the Hidden and /
or Read-Only file attributes for neatness of directory display and /
or protection from inadvertent deletion. The default values are No.
8. The automatic Screen Saver may be turned off with this switch, if
you have a favorite resident screen saver installed.
9. European users will want to see dates in the form dd-mm-yy in all
of CMFiler's displays, and will want to toggle this switch to Y.
10. Certain LCD displays invert the action of the high-intensity
color bit. If the display is all high-intensity except for the line the
cursor is on, try changing the switch to Y.
11. The color attribute set may be changed by pressing C, V, M, T, E or
L. If, for example, your system has a color card driving a
green-screen monochrome monitor, you probably would be more satisfied with
the monochrome color set invoked by M than the default color set C.
12. If you have an EGA or VGA monitor, 43-line and/or 50-line display
mode is probably accessible to CMFiler. You may set this variable to 4 or 5.
There are other features of CF, particularly in the display options,
which you may reset lots of times in process, but which don't need to
be recorded permanently each time you change one. For example, I leave the
1-46
file ordering scheme set at the default value of "1" (straight
alphabetical), but sometimes I want to look at files in the order I
last modified them. I will temporarily reorder using the Ctrl-O command, but
I still want CF to come up with ordering scheme "1" next time I run it.
These values are savable. The other in-process option features that
are savable are the Compare and Hide mode switches, the resident Kernel
size, and the system date/time display on or off. They are saved 1)
whenever the Shift-O setup Option menu is exited with Enter, 2) whenever
the Shift-F10 user-defined application menu (discussed in Chapter 4) is
exited with Ctrl-Enter, or 3) by pressing Shift-S (Save options).
Help. . .
In addition to the two-line mini-help area at the bottom of the screen,
a five-page summary may be summoned on-line at any time in the main module
of CF by pressing H or F1. PgUp and PgDn page through the help screens,
and Esc exits back to the main screen.
Custom Configurations on Networks. . .
Different users on a network using a common copy of the CF program files
may specify their own .CFG file through an environment parameter CF-CFG.
For example, if your configuration file is MY.CFG in the path
U:\SETTINGS, include a DOS set command SET CF-CFG=U:\SETTINGS\MY.CFG in
the batch file that runs CF for you.
Command Line Parameters. . .
CF supports optional command line parameters to specify the initial path
for the left panel, right panel, file mask and color set, in the syntax:
cf [pathspec1[\mask1] [pathspec2[\mask2]]] [@color]
where pathspec1 and pathspec2 are directory specifications to the
initial directories to be displayed in the left and right panels, mask1
and mask2 are any valid mask specifications, and color is C, V, M, L, E or
T for the CGA/EGA/VGA, monochrome, generic LCD, Epson or Tandy LCD
color attribute sets. The masks may be attached to either pathspec or
stand alone, but must be of the form "*.ext". The color specification
may appear anywhere. Examples of valid command lines might be:
1-47
cf c:\assembly\*.asm c:\pcw @c
cmfiler c:dos @m
CF UTILS WP51\*.DOC
CMFILER @C *.EXE
cf c:\dos\*.com d:\utils\*.exe
Formatting Floppy Diskette . . .
Floppy diskettes may be formatted without leaving CMFiler. The command
is Shift-M (forMat). Double- and high-density 3.5" and 5.25" formats
are recognized. If an existing format is detected, CMFiler
requests confirmation to proceed. Diskettes cannot be "unformatted" after
this command is used, so be certain the disk contains no valuable files
before using. All data sector are overwritten with the format "fill"
character hex F6, so, unlike the FORMAT.COM of MS-DOS 5 and later, the
CMFiler formatter is good for obliterating sensitive data.
This formatter is also called during operation of the floppy filler,
if needed, so unformatted diskettes may be used for filling. If the
formatter encounters a bad sector on the diskette, it will alert you, and
will not complete the formatting. You should simply discard this
diskette. (Other formatters mark bad sectors in the FAT table and complete
the formatting. NoVaSoft's philosophy is that, with the high quality and
low cost of diskettes on the market today, defective media is such a
rarity that, when a bad sector is encountered, the diskette should just
be discarded as a cheap safety measure.)
Copying Floppy Diskettes . . .
A built-in diskette copier is accessible with the command Shift-K (
for disKopy). Double- and high-density 5.25" and 3.5" floppies are
recognized. You specify hard drive to store master disketter image on, drive
to make copies on, number of copies to make and whether each track should
be verified as it is written. Number of copies left to go in the batch
is displayed after each successful copy.
If disKopy encounters a bad sector while formatting or writing the copy,
it will alert you that the diskette is bad, and not complete the copy.
As discussed above, you should simply discard this diskette.
1-48
Quitting CF . . .
There are two commands for exiting CF: Esc plus another key and Alt-Q.
The Esc-other key combination reestablishes the default drive and its
current directory as CF found them. The Alt-Q combination leaves the
default drive and its current directory as it appears in the source panel.
In either case, if you were printing a file, you will be asked if you
really want to quit, since the print spooler does not stay resident
and quitting will terminate file printing. You may answer N.
1-49
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
TUTORIAL - Chapter 2: File Viewing and Editing:
CF has a built-in line editor, which simplifies file viewing and editing
- even .COM and .EXE files. Since it is part of the package, there is
no loading delay. It is ready when you are.
Viewing a File. . .
Want to see what's in a file? Put the cursor on a file and press Enter.
CF loads the selected file in memory for viewing.
If the file is a .COM or .EXE file, CF asks if you want to execute the
file instead of view it. Press N. If the file is a .ZIP, .LZH, .ARJ, .ARC,
.BIN or .EXE compressed file, the editor will first search for and display
the names of all the files in the compression. Pick a text file and not
a compressed or executable file for this exercise.
Record Delimiters. . .
The default color display mode for "record delimiters" [carriage
return (CR), line feed (LF), and the combinations CR+LF and LF+CR] is to
show their color values, which are cued in the legend at the bottom
(blue=CR, green=LF, cyan=CR+LF, magenta=LF+CR). In addition, the end of
the file is denoted with a red End-of-File (EOF) mark. Sometimes it is
very useful to know exactly what delimiter combination your word
processors use, so you can duplicate it when you edit with CF. You can
toggle the colored delimiter symbols off and on with Alt-Minus or the
gray minus key. (This is also covered in a help screen you can get by
pressing Alt-H or F1.)
Information Area. . .
The name of the file being viewed is shown in the lower left prompt area.
The lower right prompt area shows the ASCII value of the character at
the cursor (decimal and hex), the position of that character in the
file (starting with 1), the
line (called "record") the cursor is on, and the position of the cursor
2-51
within the line (called "Column", which for a long record is not
necessarily the same as the screen
column). This information display may be toggled off and on with Alt-Plus
or the gray plus key.
When the modifier key Alt- or Ctrl- is pressed, this information
area displays the block, navigation and special editing commands enabled by
the modifier key.
Line Wrapping. . .
The default display mode is line wrapping, where any line longer than
80 characters is wrapped to the next screen line, so that all text is visible.
This mode can be toggled between "Wrap" and "No Wrap" (see the Wr/NW at
upper right for current status) with Alt-W. In the NoWrap mode, each
line longer than 80 characters simply extends off the screen to the right,
but is accessible for viewing by putting the cursor on it and [Ctrl- or
Shift-] Rt Arrow-ing (see below) to any place on the line.
Cursor Movement. . .
The arrow keys, either on the cursor keypad or numeric keypad, move
the cursor one line up or down and one character left or right.
Ctrl-Left/Rt Arrow move left or right one word at a time, and
Shift-Left/Rt Arrow and Home/End move to the beginning or end of the line,
as in PCWrite. A second press of the Home/End key moves to the top/bottom
of the page, and a third press moves to the beginning/end of the file
contents in memory.
PgDn/PgUp moves the display up or down one page frame (20, 38 or 45
lines), and leaves the cursor on the same relative video line.
Ctrl-PgUp/PgDn moves the display by 10 page frames for fast paging through
a file. Shift-Up/Down Arrow moves to the top/bottom of the current
page. Alt-B/E moves to the Beginning/End of the file contents in memory.
The mouse moves the cursor similar to the arrow keys. A special
mouse feature allows variable speed scrolling as well. Hold the right
button down and move the cursor down a little bit. The file begins to
scroll slowly up the screen. Move the mouse down a little more and the
scroll rate increases, through a total of four speeds. Moving the mouse
up reverses the direction.
For very long files, exceeding available memory, the editor loads only
as much as fits. When you get to the end of that section (i.e., the
current "file contents in memory" referred to above), the next operation
that asks for another page or line causes the editor to load in the
2-52
next section, remembering the file position of the start of the
previous section so it can backtrack if you want. (It actually loads the
next section with some overlap to the previous section, so that a little bit
of backtracking does not result in reloading the whole previous section.)
This "heel-and-toe" sequential loading is limited to 50 sections.
Find a String. . .
Want to look for a particular word or string of characters? The
key combination Alt-F (for "Find") opens up a data window at the bottom for
you to enter a short string. After you press Enter, CF will find the
first appearance of the string
from the current cursor position, and put the cursor on it. Alt-X (for
"neXt") finds the next appearance, and can be used repeatedly until the
string no longer appears, which is signalled at the bottom of the screen.
The search process starts at the cursor location and goes, if necessary, to
the end of the current file contents in memory.
If the file is long and is being viewed by the editor module in sections
as discussed above, only the current section in memory is available to the
Find operator. The search is case-insensitive.
Leading and Trailing Blanks in the Data Window. . .
The data entry routine truncates leading and trailing blanks, but blanks
may be included as leading or trailing characters by enclosing the string
at either or both ends with quotes (") Suppose, for example, you wanted to
find all of the appearances in a file of the word "mark", but not
"remark". Press Alt-F and, in the data entry window enter:
Find string: >"mark <. This works for the replace string as
well.
Editing a File. . .
Exit view mode with either Esc or Enter. The mouse left button is the
same as Enter. (Note that any tags in the source panel are still there.)
Now you are ready to edit! Position the cursor on a file that you have
an extra copy of somewhere, and press E (for Edit). CF again loads the
selected file, but this time with an internal "switch" set which tells
the editor module to support editing. (Or, in View mode, press Alt-S,
for "Switch to edit".)
2-53
Edit Mode Limitations. . .
CF permits edit mode only if the file fits all at once into
available memory, has fewer than 16,380 records, and (in NoWrap mode) has
no record longer than 8190 bytes. CF will revert to view mode if
these conditions are not all satisfied. If you have a lot of memory tied up
in resident programs or RAM disk/cache, then you may not be able to
edit extremely large files. Chances are, however, that this will never be
a practical limitation.
Typeover vs Insert. . .
Look at the small reverse video box in the upper right corner of the
screen. "T/O" or "Ins", then CF is in edit mode. Toggle between typeover
(T/O) and insert
(Ins) modes with the Insert key. Typing action is just like any word
processor. In typeover mode, the Bksp key does not pull the text left. This
is to avoid unintentionally shortening the file when editing
length-sensitive files, such as .COM and .EXE files.
Editing a Line. . .
You operate on a line at a time, and the "normal" editing keys work -
i.e. Bksp, Del, Tab, Shift-Tab, the unmodified and modified arrow
keys discussed above, and any ASCII-code keys. To create a new line,
just Shift-Arrow to the beginning or end of the current line, depending
on whether you want the new line above or below the current one, and hit
Enter. This inserts the default delimiter combination, CR+LF, into the text
to set up a new line void of text, but ready for you to start typing.
The combination Ctrl-Enter gives you a menu screen from which you may select
a different record delimiter. Join two lines by deleting the record
delimiter at the end of the first line to be joined. Delete a line with
Ctrl-Y ("Yank"). Delete from the cursor to the end of the line with
Ctrl-D. Delete a word and its associated whitespace with Ctrl-T.
More on Record Delimiters. . .
On CGA/EGA/VGA monitors, the record delimiter appears as a single
colored "blank" character at the end of the line, whether it is actually
two characters (e.g., CR+LF) or one (e.g., LF). It may be deleted to join
two lines, but not over-struck - it always pushes right, even when you are
in typeover mode. The red "End-of-File" (EOF) marker is not actually part
of your file, but rather is only a visual aid for you to see where the
2-54
text ends. When the cursor is on the EOF marker, the "byte number" in
the legend corresponds to the number of the next character, if you were to
type one. The EOF marker also always pushes right, and cannot be deleted.
The height of the cursor shows the status of the "Caps Lock" switch.
Alt- Keypad and Alt-N. . .
Any ASCII code from 1 through 255 can be entered from the numeric
keypad using the Alt- key modifier. A special combination is provided for
ASCII zero ("NULL"), since Alt-Zero is not recognized by any keyboard drivers
I have seen. It is Alt-N (for "Null").
Changing Case . . .
Pressing Ctrl-U/L/I on a letter forces it into upper or lower case,
or inverts the case.
Block Operations. . . or the REAL Power of CF's Editor. . .
All the block operations - there are six - are keyed to
Alt-key combinations, and they are all intuitive (sort of). They are:
Alt-{ Mark, Yank (delete), moVe, Copy, Print and Output }.
Marking a Block, and the Copy Buffer. . .
You may also manipulate blocks of lines. First mark a block by putting
the cursor on the first (or last) line of the block you want to do
something with, press Alt-M (for "Mark"), move down (or up) with
arrows, PgDn/Up, etc., and mark the last (or first) line of the block,
again with Alt-M. The marked text is written into a dedicated internal
copy buffer for later use. If you made a mistake, a third press of Alt-M
clears the marks, but leaves the copy buffer intact. The contents of this
copy buffer remain available for multiple use until a new block is marked.
You may exit the editor back to the main module, and edit another file,
and because the editor copy buffer is a dedicated chunk of RAM in the main
and editor modules, the buffer is still intact. Just copy it into the
next file with Alt-C.
When you are marking a block, note that the information box at the
bottom left of the screen expands to show you the attributes of the
marked block - the number of the first and last records marked, and the
2-55
number of bytes in the painted area. There is an arbitrary 32 KB limit on
the copy buffer. The upper right-hand information box shows "Blk"
(for "blocked") instead of "T/O" or "Ins", meaning that normal editing is
not permitted while you have a block marked.
Delete, Copy, Move. . .
Delete the block with Alt-Y ("Yank"). Or put the cursor in an unpainted
area of the file, and copy the block into that area, just ahead of the
line where you put the cursor, by pressing Alt-C ("Copy"). Or move it
with Alt-V ("moVe"). As noted above, the block previously "marked" into
the copy buffer is available for multiple use. Just put the cursor where
you want the block to be copied and hit Alt-C again.
Restoring from Inadvertent Block Deletion. . .
If you just deleted a block in error, put the cursor where you want
to restore it, and press Alt-C to copy the buffer back into the file.
Sending a Block of Text to the Printer. . .
Print the copy buffer to the parallel printer with Alt-P ("Print").
After printing, if you want a form feed, press Ctrl-F ("Form feed" - note
the use of Ctrl- vice Alt- as the modifier key, since Alt-F was already
used for "Find").
. . . or to a File. . .
Finally, output the copy buffer to a file in the same path as the file
being edited by pressing Alt-O (letter "O" for "Output"). A window opens at
the bottom for typing the name of the file for CF to create (if it
doesn't already exist) or append to if it does. (The file will be created
or opened in the current directory on the default drive. Therefore
the characters ":" and "\" will not be recognized.)
Replace and Global replace. . .
In addition to the Alt-F "find" feature, there is an Alt-R "replace" and
an Alt-G "global replace" feature. Just press Alt-R or Alt-G and enter the
find and replace strings when prompted. (If you see a mistake in the
find string while you are typing the replace string, just arrow back up a
line and reedit it.) For Alt-R, CF will find the first match and ask you
to confirm the replacement. It continues finding and requesting
2-56
confirmation until you press Q (for "Quit replacing") or Esc. Alt-X
reactivates either the find or replace routine, whichever was used last.
Alt-G replaces all appearances of the find string with no confirmation. It
may be terminated with any key press. When global replace is thus
terminated, Alt-X reactivates the confirmatory replace, not the global replace.
Leaving Edit Mode. . .
After editing is complete, press Esc. When leaving the editor after
editing an existing file, there are several decisions you have to make:
1) under what name to save the edited file; 2) whether to use the
current date/time or the original date/time of the edited file as
the save-file's date/time stamp; 3) whether to rename the original file so
it is also saved; and 4) whether to return to the editor after the
save operation.
The default selections for these options - the ones most often used -
are: 1) save the edited file under the original file's name; 2) do not
reuse the original date/time stamp; 3) do not rename and save the
original file; and 4) do not return to the editor. You can accept these
default options by pressing Enter, or Y, or if you had hit Esc by mistake,
you can press Esc again to return where you were in the editor. If the
defaults are not acceptable, press N, and CF will take you through each option.
In the first option, CF offers the original file name as the save-file
name, but you can edit it, including adding a path to have it saved in
a different directory. If you do not want to save the edited file at all,
press Esc.
In the second option, you may press Y to reuse the original date/time
stamp of the file that was edited.
In the third option, CF offers a default name to rename the original
file, replacing the last character of the extension with an exclamation
point. You can edit the name, or press Esc to avoid renaming the original file.
In the fourth option, you may press Y to return to the editor.
Saving File in Mid-Session . . .
The command Ctrl-S lets you save a file in mid-session while editing.
This is prudent during a long session just to make sure you don't lose the
2-57
edit to a power failure. Ctrl-S provides a sequence and defaults similar to
the exit sequence above except that you return to the editor instead
of leaving.
Creating a New File with the Editor. . .
A new file may be created from the main module by pressing the letter
F ("new File") and entering a name for the new file in the data entry line.
The new file will appear in the directory from which the F command was issued.
Help. . .
A one-page help screen may be summoned on-line at any time in the
editor with the command F1 or Alt-H, and exited with any keystroke.
2-58
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
TUTORIAL - Chapter 3: The TREE Functions:
CF lets you view and operate on the subdirectory structure of your disk
in the format of a "tree", so-called because that is what it looks like,
with each subdirectory being a "limb" for the finer "branches" in
its substructure. This feature is invoked with the command Shift-T
(for "Tree"). The command conventions in the tree module are the same as
you have encountered in the main screen, except on a much smaller scale.
The path(s) on entry are preserved from the main screen, and the
selected subdirectory structure in the source panel is highlighted as a
block. This source block may be copied, moved or (with great caution)
deleted. A fast machine can wipe out a lot of files in a big hurry, and
because of this I have added a second confirmation of any delete operation
that involves file destruction.
The Display. . .
If you entered the tree feature with both panels open, you see that
the source/target panel relationship is preserved, and the paths displayed
at the top and indicated by the cursor highlights in the tree structure
itself are as existed from the main screen. The structure under the cursor
in the source panel, namely the selected directory and all its files
and subdirectories and their files, is shown as a highlighted block with
a bright background, while the current directory selected in the
target structure is shown highlighted with a reverse video background.
If you entered the tree module with the right-hand panel closed, you
may open it the same way as you would from the main screen - right arrow,
then press a drive letter at the prompt.
Line 1 at the top of the screen gives the status of two display
enhancement switches. The "hide" and "compare" switches are passed from
the main module, and have the same function. When the hide switch is
on (^Hide=Y), subdirectories with the hidden attribute set are masked
(i.e., not displayed). When the compare switch is on (^Comp=Y), any match
in the target panel to the currently selected path in the source panel will
be highlighted in a high-intensity color, similar to the highlighting of
file matches in the main screen. The hide and compare switches may be
toggled using Ctrl-H and Ctrl-C (shown as ^H and ^C); their states
are transmitted back to the main module on return.
3-59
The "Goto" string also appears on the top line when the Goto file or
Goto directory command is given (G or Alt-G). More on that later.
Information about the selected structures is contained in the two lines
at the bottom of the screen. In each panel, there are two pairs of numbers,
one pair for the amount of disk space used by the files in the structure,
a second pair for the number of files in the structure.The first number in
each pair describes the files in the immediate directory that the cursor is
on (think of this as the "root" of the structure), and the second number
in each pair describes the file ensemble in the entire highlighted structure.
Cursor movement is much the same in the tree display as in the main screen.
Left/right arrows switch panels, up/down arrows move one line up and down
the tree, PgUp/Dn move up and down the tree several lines at a time,
Home/End move to the very top or bottom of the tree, and P (for "Parent")
moves the cursor up to the directory's parent. Two additional cursor moves
are Shift-Up/Dn Arrow, which moves the cursor up or down one directory in
the same level; and Shift-Lf/Rt Arrow, which moves the cursor directly
across to the match if you are in compare mode and have a path in the
target matching the path of the currently selected structure in the
source (same feature as in main module).
Mouse action is much the same as in the main file services module.
Changing disks or drives (Shift-R or N), renaming subdirectories (R),
setting the hide attribute for a subdirectory (2), and toggling the hide
and compare switches (Ctrl-H and -C) also all work the same as in the
file services module, except that no wild cards are permitted in the
rename function.
Copying structures. . .
If you, as I, never previously thought or visualized much about
the structure of the data on your hard disk, and never thought in terms
of moving around big blocks, the conventions about to be described will take
a little getting used to. However, you will come to find these operations
a great convenience.
Select in the target panel a path under which you want to replicate
a substructure from the source panel. Pick a small structure in the
source panel for starters. Now picture the source block that is highlighted
in red (if you're in the default color - in reverse video if
monochrome) appearing under the top subdirectory in the shaded area of
the target panel. Press C. The structure selected in the source panel
is reproduced, subdirectory-by-subdirectory, file-by-file, under the
target path.
3-60
(One prohibition - CF does not permit copying a structure onto itself.
That is, if you have the same drive selected in both panels, a structure in
the source and its host (the subdirectory it originates from) in the
target, the command C will be ignored.)
This copy operation is good for backing up major structures
hard disk-to-hard disk or hard disk-to-floppy. Once a backup structure
exists on another medium, you may keep it up to date the same way.
Just remember to set the path in the target panel to the host directory of
the structure you are backing up. Updating is possible because the file
copying and protection convention used in the tree module is the same as
that employed in the main program of CF. Namely:
o Files encountered in the target structure with the same
date/time stamp and size are presumed identical, and not rewritten, unless
the "file overcopy" switch is on. As with the "hide" and "compare"
switches, the current state of the "overcopy" switch is passed from the main
to the tree module.
o Files of the same name encountered in the target that are newer
than the source, or that are read-only and the source is not, or that
are system files, require confirmation to be overwritten.
o Files of zero length in the source structure are not allowed
to overwrite files in the target. Non-zero-length files in the source
structure always overwrite zero-length files in the target of the same name.
Copying in progress may be terminated using Esc. Any errors during
file copying cause a pause in the tree copy operation, and the user
must confirm continuing.
The copy function tries to anticipate the disk space required in the
target for the structure being copied, and will proceed without delay if
it finds there is enough free space on the target disk to assure
the completeness of the copy. It does not attempt to check the target path
for possible file duplications with the source block and take for credit
as "available space" the space occupied by files which will be overwritten.
If it senses not enough space to cleanly copy the whole structure, it
will alert you to the possibility of an incomplete copy, and ask
for confirmation to proceed anyway. Then, as the copy operation proceeds,
it checks disk free space before each file is copied. If there is
insufficient space for that file, it tells you so, and asks whether you want
to try copying the next file. The answer "N" terminates the whole operation.
3-61
When backing up structures on your hard disk using the tree structure
copy function, if the backup floppy is at all tightly packed, you will get
this advisory message. If you know there is a lot of file duplication
between the source structure and the backup floppy, you may proceed with
the copy operation with confidence that all the files will be properly updated.
A final word on the copy function, and the move function discussed below.
The original cursor position in the target panel, which specified the
target path for the operation, is reset after the copy or move operation
to show the top line of the new structure just created or moved, so that
you can see that the copy or move actually took place and check using
the information at the bottom of the screen that all the files were
reproduced or moved. However, on the next keystroke, the target path is
reset again to its original position.
The "Copy Into" Function. . .
As seen above, the copy function replicates, as a structure under the
target directory, the source block. The structure has the same "name" in
both cases, meaning that the top line of the block in the source panel is
the same as the top line of the replicated structure in the target
panel. Another way to view this is that the subdirectory which serves as
the "root" of both structures has the same name.
While this seems a convenient way to copy structures between two large
mass storage devices, as it forces a uniform convention on the naming
and construction of the structures themselves, it may not always be the
most convenient way to backup structures from a large mass storage device to
a smaller one. This sounds very cryptic, so let me try an example. Suppose
one of the major structures in your hard disk is a directory under the
root, containing all your files pertaining to your word processor. Let's
call this directory WORDS. In it are all the program support files (the
editor, the printer, the configuration files, etc.), and two
subdirectories, NOTES and LETTERS. If you were to copy the structure with
WORDS as its "root" to a virgin floppy, the screen would end up looking
like this:
C:\ A:\
|--ANYOLD.DIR { |--WORDS
|--WORDS } |-----> { |--LETTERS
| |--LETTERS }----| { |--NOTES
| |--NOTES }
|--ZLAST.DIR
3-62
But suppose you plan to dedicate this floppy exclusively to the backing up
of the files in the WORDS structure, and so you really wanted to put the word
processor program and its support files into the root directory of the disk
in A:, and have the LETTERS and NOTES be directories of the root, not of
a directory WORD. That is, you want not to create the unnecessary layer of
a directory called WORDS, but you want the A: disk tree to look like this:
A:\ <Where the programs and support files are here in the root>
|--LETTERS
|--NOTES
This is where the command "Copy Into" does the job. Just press the letter
I instead of C, and the contents of the structure in the source panel block
are copied Into the target directory, instead of being replicated as a
new, complete substructure. Because of the subtle difference between
the commands C and I, a confirmatory message is displayed on the screen
when you use the copy Into command.
Moving structures. . .
In much the same way, structures may be moved within the same disk with
the commands Shift-C (which moves the structure to under the target
directory, similar to Copy) and Shift-I (which moves the structure into
the target, like Copy Into). The condition for moving is that the target
path is not currently the host of the structure selected in the source
panel. When the move is within the same disk, it is accomplished using the
DOS rename service, and no copying of any file data itself is performed,
just modifications to the directory tables, and so this is a quick way of
doing major reorganizations of your hard disk.
"Move" (Shift-C) and "move into" (Shift-I) default to straight "Copy"
and "copy Into" if different disks are selected in the source and
target panels, followed by confirmation to hard delete the source
structure. Moving may be terminated with Esc.
Copying Just the Files. . .
The command J (for copy Just files) works somewhat like the copy
Into command, but copies just the files in the source subdirectory into
the target path, and not the subdirectories and their files and
subdirectories, etc.
3-63
Copying Just the Directory Array. . .
The command Alt-C is similar to C, but copies just the skeleton of
the structure, the directory array and no files, under the target path.
Alt-I, similar to I, copies just the directory structure Into the target path.
Deleting Structures . . .
This is the scariest of all the tree functions, because a couple of
false keys and a fast hard disk and you're destroying files real fast. For
this reason, I have added a second confirmation step which warns you how
many files are about to be destroyed before it starts, and, for hard
disks, have used the same "soft" delete convention for the operator D
as discussed in Chapter 1 on the delete function in the main module. (If
the structure selected consists entirely of empty
subdirectories, CF doesn't bother asking for the second confirmation,
since directories are a whole lot easier to re-create than files.) Thus,
when file destruction is involved, three keystrokes are required to delete
a structure - D, Y, and Y - and, for a hard disk, the files deleted
will reappear in the ~TRASH~ directory. As in the main module, the
alternative "hard" delete function is Ctrl-D.
Esc terminates tree deletion in progress. CF deletes all the files in
each subdirectory shown in the tree structure - hidden and read-only, as
well as normal.
The move and delete operations use a routine to remove the (assumed
empty) tree structure in the cursor block in the source panel after all
the files have been moved or deleted. If there is a hidden subdirectory in
this structure, and the hide switch is set to "Y", however, it will not be
seen by the file moving or file deleting routines, as well as the
directory removal routine, and a strange-looking error message will
be returned, namely "Access denied" during directory removal. This is
classic DOSese, at least most of the time, for "there is something still
in there." Toggle the hide switch with Ctrl-H and reexamine the remnants of
the structure you tried to delete.
To save you time, CF does not reread the tree from the disk after a
piece has been deleted, but rather marks the image it made in memory of
the tree structure to note the part has been deleted and should not be used
in drawing the tree. As a consequence, the statistics - files and KB used
by the directories above the deleted portion -- will not be accurate.
After several deletes, you can refresh the tree data from disk with
Shift-R (Relist).
3-64
Delete Just the Files. . .
The companion delete operation to the "copy Just files" command is Alt-D
- delete just the files in the source subdirectory. This is a "hard" delete.
Show the File List. . .
The command S, for "Show files", is the way to get a look at the file
names in a subdirectory without leaving the tree environment. This
command opens a window in the target panel showing the first 16 files in
the directory at the cursor in the source panel. You may continue to scroll
up are down through the source panel as before, but now the file window
changes as you do to show the contents of the current directory. You may do
any other operations that involve only the source window, such as toggle
the hide mode, make a new directory, delete a portion of the tree, even get
a new drive. Two-panel operations such as copy and move are blocked in
this mode by the presence of the "Show files" window.
To see more than the first 16 files, arrow across with the left or
right arrow to the file window and scroll up and down using the up/down
arrows, PgUp/PgDn, Home and End, or use the mouse. View or edit the file
with Enter or E, as in the main module. Move between the tree and its
file list with the right or left arrow keys. To return to the main module
and perform an operation on a file in the file list, press Shift-Enter with
the cursor on that filename. CF immediately returns to the main module, to
the directory selected, and places the cursor on that file, ready for you
to edit, view, execute, copy, etc. Leave the "Show files" mode with Esc or
S from either panel.
Find (Goto) a File. . .
One of the most powerful functions in the tree arsenal is the
filename finder. There are lots of file-finding utilities around, but most
of them tell you where a file is by giving you its path which you have to
type into a DOS "change directory" command. Cumbersome.
CMFiler offers a file finder which gives you an instant visual cue to
the directory(ies) containing the file you are looking for. Simply press G
(for "Goto file", just as in the main module). A data window opens at
the bottom for you to type the name of the file to search on. It supports
the "?" and "*" wildcards. When you type the first letter, the "Show
files" list opens in the opposite panel, and both the tree display and
3-65
file list dynamically adjust to show current matches. Keep typing until
the matches have been narrowed down as far as you need to go, and press
Enter or Esc.
Assuming there is at least one file that fits that specification, note
that several things have happened:
o At least one directory name in the tree is highlighted with a blinking
"pip";
o The cursor has automatically repositioned to the topmost subdirectory
containing a filename match; and
o All the file matches are listed in alphabetical order at the top of the
window, and are also highlighted with the same blinking pip.
If you have a long tree structure with subdirectories out of view off
the bottom of the panel, you may not see all of the highlighted
subdirectories containing file matches. If there are some subdirectories in
the tree containing matches but which are off the screen above or below,
a flashing "More" will appear at the top or bottom in the tree display.
The cursor movement in the "Goto file" mode that lets you quickly position
up or down to the next directory containing a file match is
Shift-Up/Down Arrow. Use Shift-Up/Down Arrow to navigate to all the
directories with a match. Otherwise navigation and services are the same
as Show files mode.
If there are matching files out of view above or below the file window,
a flashing "More" will appear at the top or bottom of the file window
frame. Quit "Goto file" mode with Esc, G or Alt-G.
Goto a Directory. . .
There is also a quick way to navigate to a subdirectory anywhere in the
tree that, like the "Goto file" command, mimics a command in the main
module. It is Alt-G, and it behaves similarly to G above, except that the
file list is not opened in the other panel, and the tree display is
changed dynamically to highlight the directory name matches and position on
the topmost match. Type the name of the directory you are looking for, and
when it has been singled out to your satisfaction, type Enter or Esc.
Matches are also highlighted in the target tree, if any exist.
Shift-Up/Down Arrow to the next match up or down; otherwise navigation
and services are normal. Quit "Goto directory" mode with Esc, G or Alt-G.
3-66
Find Text. . .
Another powerful operation in CMFiler's tree services, to complement
the filename finder, is a file text finder. Press Shift-F (Find text).
Enter the text to be found (the search is case-insensitive), and then enter
up to eight filenames describing the types of files you want included in
the search, separated by + signs. The pipe symbol (|, ASCII 124) placed
in front of a filename means "do not include this type". So, for example,
the entry:
CMFILER.*+|*.COM+|*.OVY+*.TXT
would result in a search of all files with the name CMFILER except
CMFILER.COM and CMFILER.OVY, plus all files with the extension .TXT.
CF's guess at this point on what part of the disk to search is that
you wanted to look only in the selected portion of the tree - the structure
at and below the cursor. Just to be sure, it asks for confirmation, and
will allow you to extend the search to the whole disk if you wish.
An option for the text search string is the character "*", which
means "accept any text". This is useful, for example, if you wanted to see
all the files of several different descriptions in the tree, but didn't want
to do each at a time using the filename finder (which only supports one
entry), and didn't care what they contained. Suppose you want to see all
the executable files on your disk. Just press Shift-F, enter * as the
text, and *.COM+*.EXE+*.BAT as the names to search on.
Viewing or Editing Files. . .
The editor is accessible directly from the tree module. In either the
Show files or Goto file mode, with the cursor in the file list window on a
file name, press Enter to view or E to Edit the file.
Deleting Files from the File List. . .
Another feature in the Show files and Goto file modes that speeds
disk cleanup is individual file deletion while the cursor is in the file
list. The following commands are available, which mimic commands in the
main file services module: Tag (or spacebar) toggles the tag on an
individual file; tagAll clears or sets all tags; D soft Deletes file(s)
to ~TRASH~ (unless the D key was redefined as hard delete in the main
3-67
module); and Ctrl-D hard delete file(s) off the disk. This feature gives you
a more macroscopic view of your disk while you are cleaning it up.
Print a Hard Copy of the Tree or Found Files. . .
Except in the Goto file and Find text modes, the command Alt-L (same
syntax as in the main module) prints a copy of the tree structure to
the parallel printer. In Goto file or Find text mode, however, Alt-L prints
an alphabetical listing, organized by directory, of all the files identified
by the preceding search. The date, time, disk volume and search parameters
are all printed at the top of listing.
Precaution Regarding ~TRASH~. . .
The directory ~TRASH~ is not permitted as the source for a copy or
move operation. Since this directory contains deleted files, files in
this directory may only be moved/copied from the main module, and only
after confirmation.
Help. . .
A one-page help summary may be summoned on-line at any time within the
tree module with the command F1 or H.
Leaving the Tree Functions. . .
There are three ways to leave the tree display. Enter goes back to the
main program display, with the path(s) for the left (and right, if
open) panel(s) as selected on the respective trees. Esc goes back to the
main program with the path(s) set as they were on entry. And finally, Alt-Q
has the same convention as in the main program - quit CF altogether,
with default drive and current directory as selected in the tree source panel.
3-68
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
TUTORIAL - Chapter 4: Launching User Applications:
So far, you have seen the features that make CF useful for file
and directory management - neatness of file display, flexibility
in manipulating directories and files, transparency of operation, and even
the ability to edit files without leaving the environment of CF. What
really makes CF useful as an operating environment, though, is its ability
to execute user applications with an economy of keystrokes.
Running programs in the DOS environment is one of the more cumbersome
and confusing aspects of DOS, and therefore, by its nature, this chapter is
not terribly straightforward. I will make it as simple as I know how.
Terminology: User Application as "Child" Program. . .
A "user application" is nothing more than a "child" program, executed
by the DOS operating system under the command of the "parent" program,
which stays resident and waits for the "child" program to finish. When you
ran CF from the DOS system prompt, it was as a "child" of the DOS
COMMAND.COM command processor. Some word processors permit you to "shell"
to DOS, leaving the word processor program code resident in memory. What
the word processor program is actually doing is running the DOS
COMMAND.COM command processor as a child. From this DOS "shell", you could
run yet another program as a child of COMMAND.COM. The more layers of
child programs you have at any time, the more RAM you eat up for the
currently running program with the resident program code of generations
of parents waiting to resume control.
Resident Footprint of CF. . .
If you use your computer for more than just one task, therefore, you
may find CF useful as an "inner shell" of your operating environment. You
may let all 131 kb stay resident (the CF.COM kernel plus the CF.OVY
overlay) while the child is running, or if you are memory-limited you may
force CF to give back to DOS for allocation to the child all but 22 kb for
the CF.COM kernel. This option is exercised by pressing K (for "Kernel"),
and then pressing either L or S at the prompt (for "Large" or "Small").
"Small" is the initial default setting. The default setting is updated to
the current option any time the .CFG file is saved.
4-69
There is a trade-off here. The large kernel option ties up more RAM
that could be used by the child if it is a humongous program, but the return
to the CF environment after it finishes is instantaneous. The small
kernel option is good for freeing the maximum amount of RAM for the child,
but there is a small delay in returning to CF while the resident kernel
reloads the overlay. You be the judge. The best thing is that you can
decide before each launch, if you want, at the cost of only two keystrokes!
"Shelling" to DOS. . .
You may "shell" to DOS - that is, execute the DOS command processor -
any time you want from the main screen just by pressing S. A prompt will
tell you to return to CF when you are done by entering the DOS "exit"
command. This is the most elemental child process in CF.
Review of DOS Command Line Structure. . .
Before talking about how CF launches applications, let's review how
it's done from the DOS command processor. Say you are in the root of the
C drive, and you want to start your PCWrite word processor, which is
named ED.EXE and is in a directory called PCW off the root. Further, let's
say you want ED.EXE to edit a file called USER.LST in a subdirectory of
PCW called DATA. At the C:\> prompt you could type:
C:\>PCW\ED.EXE C:\PCW\DATA\USER.LST
What this command tells DOS is: 1) leaving C as the default drive and
the root \ as the current directory, go to directory \PCW, find and
execute ED.EXE, and pass the string "C:\PCW\DATA\USER.LST" along to it as
a "command tail", so it knows what you want it to do. (The "command tail"
is nothing more than everything in the DOS command line after the
program specification (in this case PCW\ED.EXE).)
C:\>PCW\ED.EXE C:\PCW\DATA\USER.LST
|prog spec||---command tail---|
If you have typed a lot of DOS command lines, you know how tedious they
can become, particularly if there is more than one parameter in the
command tail after the program specification. But you know that most of
the time, the one or more parameters in the command tail are filenames or
file specifications (filenames with full path specifications in front of
4-70
them), and sometimes there are parameters the program will use to
configure what it does - command line options.
The ensuing discussion may be simpler if you think about each step
in launching an application from CF as having to do with constructing
either the program specification (the first argument in the command line,
which tells DOS what program to run), or the command tail (which tells
the program what to do once it's running).
Launching a Program from the Main Screen. . .
You can run any "executable" (.COM, .EXE or .BAT) file from CF, as a
child program, anytime you want, from the main screen. There are several
ways to do it:
Immediate Execution. . .
This is the quickest way. Just position the cursor on an executable
file entry on the screen and press Q (for "Quick execute"), or hit Enter
twice, or the mouse left button twice with the arrow symbol highlighted on
the mouse bar. This is ideal if the program is located in the same directory
as any files it might look for, and it does not need a command tail to tell
it what files to operate on or what optional switches to set. This is
just like typing in the name of the program at the DOS command line, once
you are selected to the directory containing the program.
Execution with Command Tail. . .
However, as discussed above many programs expect data in the command
tail, such as the name of a file to operate on, and CF has provided
several ways of constructing the DOS command line.
The simplest is this: First, position the cursor on the file you want
to execute and press X (for "eXecute"). This constructs the
"program specification" for the DOS command line. A prompt message will
tell you this file is ready for execution, its path and name put into a
special buffer in RAM, lined up and waiting for the launch command from you
to commence execution as soon as you select a "default path" -- the
current drive and directory the program will be looking on for its
files. Select the default path in either panel, and, with that panel set as
the source panel, press Alt-X. A data entry window opens at the bottom,
in which you may enter a command tail for the program's use. Enter any
file names or other command tail data your application expects, and hit
Enter to run.
4-71
Execution with a Single File Name in the Command Tail. . .
The simplest case of the command tail is a single file name. CF offers
a shorthand way of running a program with a one-filename argument as
the command tail. Put the cursor on the name of the program file you want
to run and press X as before. The program is ready to run. Now find
the directory containing the file you want this program to operate on, put
the cursor on the filename, and press Ctrl-X. It's off and running, editing
(or whatever other operation it's doing on) that file. Two keystrokes.
Ctrl-X means "add the name of the file at the cursor to the command tail
and execute immediately."
It is a good idea to have the program file and its supporting files in
the same directory as the "operand" files when you use this method
of execution, unless the program is smart enough to locate its supporting
files in another directory in the DOS path environment.
"Seeding" the Command Tail. . .
In some cases, the above quick way to specify a one-filename command
tail is not enough. You may find a need to put into the command tail the
names of several files on the default path, or the full specifications
of several files not on the default path, or both.
In CF, there are shorthand ways of "seeding" the command tail window
with file specifications and filenames. These may be used either before
or after readying the program file for eXecution with X.
o To seed the command tail with the full specification (path plus
name) of a file on which you want the program to operate, put the cursor on
the filename and press Alt-C (the C in this case is a mnemonic for
"build Command tail"). The information window at the bottom will show you
the command tail in its current state. This procedure may be repeated to
build a command tail as long as there is room in the command tail buffer.
The command tail is limited by DOS to 125 characters.
o Just before pressing Alt-X to show the command tail window for
final pre-launch editing, you may normal-Tag or Alt-Tag one of more files
in the default path. These file names, without paths specifications, will
all appear in the command tail in the order they were Alt-Tagged or in
the order listed on the screen if normal-Tagged.
4-72
Now press Alt-X to open the data window with the seeded command tail.
Once you have edited the command tail the way you want it, hit Enter, and
the program is off and running. After the launched program finishes and
returns control to CF, its file specification stays in the "execute
queue" until you ready another executable file with X, so you may
perform multiple runs of the same program just by seeding the command
tail again as above, and pressing Alt-X again. As a further
time-saving feature, you may recall the previous command tail by pressing
the up arrow or PgUp while in the command tail edit window at the bottom of
the screen.
Once you get used to the above conventions, you will find that in
many situations you don't need to edit the seeded command tail, and the
key sequence Alt-X-Enter seems cumbersome. For those cases I have included
the option Shift-X. Use it after you have seeded the command tail using
Alt-C and/or T/Alt-T, and avoid the extra Enter stroke. Its effect is
to commence execution of the program with the as-seeded command tail, with
no edit.
Changing the Command Tail "Seed" Delimiter. . .
You probably noticed that there was always a space between multiple
entries in the seeded command tails created using the Alt-C and T/Alt-T
seeding operators by the procedures above. But what if your application
looks for commas as the field delimiters for data in the command tail,
instead of blanks? Just press Ctrl-Enter from the main screen to pick
from three choices for default command tail field delimiters - space,
comma, and semicolon.
Customizing Your User Application File Specifications. . .
Got a few pet applications that you run more than most? Save
the aggravation of hunting them down and pressing Q or one of the X
key sequences each time you run them. You can call them with just a touch
of one of the function keys F1 through F9! To set this up, press Shift-F10.
You will see a data entry screen that lets you specify up to nine
executable file names in the entries "F1 = ", "F2 = ", etc., and an
optional default command line parameters entry for each, labelled
"F1 Cmd Line Parms = ", etc. Further down the page, you will see places
for similar entries for compression and extraction utilities, and a
bottom entry labelled "Password = ". (You may use this last entry to specify
a password which must be entered to get back to the main screen from
the screen-saver mode - a handy way of blocking undesired access to
your files.)
4-73
In any "Fn = " data window, just type in the filename, including
extension, of an executable file you use frequently. Optionally, in the "Fn
Cmd Line Parms =" line, type any frequently used command line parameters
that you would like to show up as a default entry in the command
tail construction. You do not need to include the path in the
file specification if the file is on one of the paths listed in the DOS
path environment (via a previous "path" command from the DOS system level) -
CF will hunt it down and update its internal record of where that file is,
so it doesn't have to hunt the next time you call it. However, if you
do include a path specification, be sure it is complete
(e.g., "C:\LETTERS\ED.EXE").
Once you have made all the entries you wish, press Ctrl-Enter to record
the new entries and leave the F-key data entry screen. (Esc will abort
the edit.) CF will then find and update the CF.CFG configuration data file
to add the customized F-key information.
There are three ways to now use these F-key options:
o Press the F-key corresponding to an application you specified with
the Shift-F10 operation. (This may be done from either the main screen or
the F-key information screen shown by pressing just F10.) You will get
the message at the bottom that that file is readied for execution, just
as though you had hunted it down, put the cursor on it, and pressed X. Seed
the command tail and set up the default path desired in the source panel
as before, and press Alt-X to get the command tail entry window, also
as before. This time, though, if you had specified default command
line parameters for this F-key, they would appear in the command tail
window, in front of any seeded entries. Edit the command tail if desired,
and press Enter to start execution.
o A nearly equivalent method is to seed the command tail first,
set-up the default path, and press Alt-F-Key to ready the program and show
the command tail for editing.
o If you know the command tail will be the way you want it, and you
are bugged by the extra Enter keystroke to accept the seeded command tail,
seed the command tail with Alt-C if you want, set up the source panel to
the default directory, Tag/Alt-Tag any files from this directory you want
to appear in the command tail, and hit Shift-F-key. The program will
run immediately with the seeded command tail, with the default F-key
command line parameters between the Alt-C seeds and the T/Alt-T seeds.
o If you are just operating on one file, put the cursor on the name
of that file and press a Ctrl-F-key for instant one-key execution. In
4-74
this case, the F-key default command tail offering will appear in the
command tail preceding the name of the file the cursor was on. (This is
the feature I use most.)
There is, in fact, a rule as to where the F-key default command
line parameters get placed during the construction of the command tail.
They are inserted at the point that the F-key itself (or F-key modified
by Shift- or Ctrl-) is pressed. The file names Tagged/Alt-Tagged in the
current directory always appear last. In an exotic case, for example,
you could: (1) Alt-C a file spec, (2) press F1, (3) Alt-T a file name,
and press Shift-X to execute with no edit of the command tail. The
program assigned to the F1 key would run, with a command tail consisting of
the file spec Alt-C'd in (1), plus the F1 default command line parameters,
plus the file name Alt-T'd in (3), all separated by the command tail
delimiter character last selected from the main screen with Ctrl-Enter.
The business above may seem cumbersome, but if you spend a lot of
time typing the same old things in at the DOS command processor prompt,
you will find it is worth the investment of time to figure out and use.
A Further Execution Option - Instant ZIPping/UNZIPping. . .
Phil Katz' PKZIP.EXE and PKUNZIP.EXE (c) have become dominant
file compression and decompression programs in the shareware market, so much
so that I wrote a special explicit feature to employ them with just a
few keystrokes. The commands which invoke these programs from the main menu
are Z and U, respectively. CF can find these programs as long as you have
not renamed them from PKZIP.EXE and PKUNZIP.EXE, and they are on one of
the paths that you specified in a DOS path environment. If for some reason
you want to rename them or put them on a path not listed in the DOS
path environment, you may specify them explicitly via the Shift-F10
data screen.
ZIP a File. . .
1. Decide where you want the compressed file to go, and select that path
in one of the panels. If you are updating an existing .ZIP file, Tag or
Alt-Tag it while you are there.
2. Now switch to the other panel, and select the path to the files you
want to compress. Tag them, or Alt-Tag them in the order in which you
want PKZIP to compress them if order is important to you. If none are
tagged, CF assumes you want them all to be ZIPped, and puts the command
line argument *.* in place of a file list.
4-75
3. Now then press Z. CF will show you a command tail at the bottom of
the screen, in the PKZIP syntax (options first, then .ZIP file, then list
of files to
be ZIPped.) Since the files to be ZIPped are in the current source path as
set up by CF when you Alt-Tagged them, no explicit path is included for
them. You may edit the command tail. Once you are satisfied with the
command tail, press Enter.
[In step 2 above, if you do not Tag or Alt-Tag any files for compression
in the source path, CF assumes you want to ZIP them all, and places "*.*"
in the file list argument of the PKZIP command tail.]
[In step 1 above, if you do not Tag or Alt-Tag a target .ZIP file,
CF assigns a default compressed file name for PKZIP to create, which
is either:
(1) the first Tagged or Alt-Tagged file in the source path from step 2, or;
(2) if no source files are Tagged or Alt-Tagged in step 2, the name of
the file the cursor is on. (PKZIP attaches the default .ZIP extension).]
[In step 3 above, if you know you don't have to edit the command tail,
you can bypass the extra Enter keystroke to enter the command tail by
pressing Shift-Z instead of Z.]
Now UNZIP a File. . .
1. Set up one panel with the target path for the UNZIPped files.
2. Switch to the other panel, select the path with the .ZIP file to
be UNZIPped, and put the cursor on it.
3. Press U, edit the command tail if necessary, and press Enter. As
with ZIPping above, if you know you don't have to edit the command tail,
press Shift-U instead.
The PKZIP/UNZIP utilities are available from most bulletin boards, or may
be had for a $47 registration fee from PKWARE, Inc., 9025 N. Deerwood
Drive, Brown Deer, WI 53223 (BBS 414-354-8670).
4-76
Tailoring CF for custom ZIP/UNZIP spec. . .
If for some reason you want to specify an explicit path to
PKZIP/PKUNZIP, you may include an explicit file specification using
the Shift-F10 feature. Just follow the procedure and precautions
under "Customizing Your Executable File Specifications" above, and operate
on the " Compress = " and "Extract = " fields.
If you are familiar with Phil Katz' option switch syntax and find
yourself using one or more switches most of the time, you may enter
standard options in the indicated fields ("Compress Options =" ,
"Extract Options = ") while you are at it.
Once you are comfortable using the ZIP/UNZIP feature of CF, and you find
you are not having to edit the ZIP/UNZIP command tail most times, you may
start getting bugged about having to always hit Enter when you see the
command tail displayed. There is an alternative! Just like with the
tailored F-keys, hit Shift-Z/U for instant ZIPping/UNZIPping.
Using Other Compression Utilities
As it happens, some other compression utilities use the same command
line construction as the PKWare utilities. Specifically, the ARJ utility
by Jung and the LHA utility by Yoshizaki use command lines of the form:
archiver options archivefile file1[,file2[ , . . . ] ]
where archiver is program spec, options is the collection of commands
and switches to accomplish the desired operation, archivefile is the spec
to the file which will contain the compressed data, and file1, file2, etc.,
are the specs of files to be compressed.
The CF ZIP/UNZIP facility may be used to accomplish compression
and extraction with either ARJ or LHA, and perhaps others as well. Here is
how to do it with ARJ as an example:
o Make sure the file ARJ.EXE is on one of the paths specified
in your DOS path environment, so that CF can find it.
o In CF, press Shift-F10 to bring up the user-defined
applications screen for editing, and down-arrow to the line "Compress = ".
Type in ARJ.EXE. Do the same for the line "Extract = ", since for this
utility, unlike the PKWare set, the same program does both tasks.
4-77
o For the most rudimentary compression and extraction options
with ARJ, the only parameter required for the "Compress Options = " line is
the letter a, and for the "Extract Options = " line, the letter x.
These parameters tell ARJ whether to add (a) or extract (x). Type them in,
and press Ctrl-Enter to save the new data.
Compressing and extracting now work just the same as previously
described for the PKWare utilities. To compress, optionally Tag or Alt-Tag
the archive file in one panel, go to the other panel, find the directory
with the files to be compressed (the same path is permitted) and Tag
or Alt-Tag them, edit the command tail if necessary and press Enter.
To extract, set up one panel with the destination path for the extracted
file (may be the same as the source), arrow across to the other panel, put
the cursor on the file to be extracted and press U. Edit the command tail
and press Enter.
Specifying a Password for Access from Screen Saver. . .
At the very bottom of the Shift-F10 screen you see a data line for
password. You may enter any combination of alphanumeric characters up to
six letters. This password must be given to restore access to CF from
screen saver mode. The password routine is case insensitive.
4-78
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
REFERENCE -- Description by Operation:
DISK/DIRECTORY OPERATIONS:
N - New drive - Selects a new disk drive for the source panel. N or Shift-R
must be used to announce disk media changes. In right-hand panel, Enter
after N closes the panel.
Shift-R - Relist panel from disk after media change.
Enter - display subdirectory in source panel - With the cursor on a
subdirectory or the "<Parent>" line, changes to that subdirectory or
parent in the source panel.
Shift-Enter - display subdirectory in target panel - Displays the subdirectory
at the cursor in the target panel, and changes to it.
P - display Parent directory in source panel - Quick way of returning to the
parent directory with the cursor positioned anywhere in the listing of a
subdirectory.
Shift-P - display source directory's Parent directory in target panel -
Quick way of showing the parent of the current directory in the
target panel and switching to it.
\ - display root directory in source panel.
Shift-\ - display root directory of source disk in target panel.
Shift-* - display source directory in target panel.
Alt-G, followed by a typed string - move cursor to ("Go to...") the directory
described by that string.
M - Make subdirectory (Mkdir) - With the cursor anywhere in the listing,
pressing M opens a data window at the bottom of the screen for entering the
name of a new subdirectory you want to make. CF checks the entry for
validity; if invalid, the window simply clears and waits for another entry.
A valid entry appears in the proper alphabetic position on the screen.
OpRef-79
D - Delete - With the cursor on a subdirectory and no files tagged, removes
that subdirectory if it is empty ("void"). IF THE CURSOR IS ON A
SUBDIRECTORY AND FILES ARE TAGGED, DELETES THE FILES.
Alt-L - print directory Listing - Prints a listing of the current directory
if cursor in directory panel, and includes notes if cursor in one of
the Notes modes (Shift-N or Ctrl-N).
Shift-T - transfer control to the Tree module. Displays the disk(s)
selected in the panels in their directory tree structures, and puts
the cursor(s) on the structure(s) pointed to by the current path(s).
Shift-M - forMat - formats a floppy diskette in drive A or B.
Shift-K - disKopy - copies a floppy diskette in drive A or B.
FILE OPERATIONS:
G, followed by a typed string - move cursor to ("Go to...") file described
by that string.
Shift-Lf/Rt Arr - Jump across to identical file name in opposite panel when
highlighted in comparison mode.
T or Space - Tag file - Applies or clears a "normal" tag to the file at the
cursor (i.e., toggles the state of the tag). Window at bottom of
screen shows number of files tagged.
Alt-T or Alt-Space - Alternate-Tag file - Applies or clears an "alternate"
(sometimes referred to as "append" because of its principal function) tag
to a file. "Alt-Tags" are numbered (1-9, a-z) to show the order
of application, for the order-critical operation of file
concatenation, discussed below.
A - Tag All files - Applies or clears normal tags to all files.
Ctrl-A - toggle the state of All normal tags.
OpRef-80
Alt-M/E - tag all files with same naMe/Extension as file at cursor; does not
reset tags already present.
Alt-N - tag all files Newer than file at cursor.
Alt-O - tag all files Older than file at cursor.
Alt-D - tag all files same Date as file at cursor.
Alt-P - tag same files in oPposite panel as tagged in source.
(NOTE ON TAGS: Tags are aids for quickly performing multiple file
operations, but are "volatile", and generally go away with any operation
that changes or updates a panel. Tags are not applied in any way to the
magnetic media.)
C - Copy - Copies tagged files from source to target, or the one file at the
cursor if none tagged. Does not overwrite identical files, asks for
verification before overwriting newer files or read-only or system files,
and protects against some cases of overwriting good files with
files created in error. With files "Alt-Tagged", creates
"concatenated" file in target with same name as first "Alt-Tagged"
file, but extension ".APF", and permits editing file name. If
insufficient room on target path, does not perform operation, and
signals the user.
Shift-C - move - Moves files from one subdirectory to another on the same
disk. If conditions are not satisfied for moving (i.e., same disk,
different directories), defaults to copy and hard delete.
B - Back up - Copies tagged files (or file at cursor if none tagged)
from source to source, assigning to each new file an extension
consisting of the first two letters of the original extension (! in
place of blanks) plus the tilde "~" character. This results in
backup files with unique names unless two files differ only in the
third letter of the extension.
D - Delete - Deletes all tagged files on source path. If no files are tagged,
deletes only the file at the cursor. Treats normal tags and
"Alt-Tags" the same. Requests confirmation before file destruction.
On hard disks, this operation is a "soft" delete, in which files
are redated to current date/time and moved to directory ~TRASH~ (created
by CF). Thus good files inadvertently deleted are readily recoverable.
On floppy drives, this operation is a "hard" delete, using the DOS
delete file function. "Undeleting" is not available in the CF
environment; other utilities contain "undelete" facilities, but these are
not always reliable.
OpRef-81
Ctrl-D - "hard" Delete - Uses DOS delete function regardless of disk type.
Shift-F - Freshen files - "Freshens" the files in the source panel from the
opposite panel. Useful in updating backup disks. If no files tagged
in source, tags all in source, then tags in opposite all newer versions
of same-named tagged source files and copies them to source. If any
files were tagged in source, only these files are looked for in
the opposite panel, vice all files in source.
Shift-i - fill floppy disks from source. Fills tagged files (or all files
if none tagged) to floppy disks in drive A or B. Disks may
be unformatted.
R - Rename file or directory - Prints name of file at cursor, and opens window
below it for new name, offering the current name as the "seed". Type/edit
new name and press Enter. Or first arrow up and edit the current
name field, for example to use the "*" wildcard. One use of "*"
is permitted (either the name or extension). If used in the current
name field, it must be followed in the new name field. Names are
checked for legality before renaming is attempted.
Alt-R - copy with Rename - Copies the one file at the cursor in the source
panel to the target, after entry of new name in data window.
Enter - display file - With the cursor on a file, views that file.
F - make new File - With the cursor anywhere in the listing, pressing F opens
a data window at the bottom of the screen for entering the name of a
new file to be created. Entry is checked for validity. If valid, control
is transferred to the line editor for file creation and editing.
0, 1, 2, 3, 4 - toggle file attribute - Pressing the number 0 clears
all attributes for any files tagged, or for the file at the cursor if
none are tagged. 1 toggles the Read-only attribute, 2 the
Hidden attribute, 3 the System attribute, and 4 the Archive attribute.
(Only the number keys at the top of the keyboard are active for
setting file attributes. The numbers on the keypad are mapped to
their corresponding cursor movement functions, even when the NUM LOCK
is set. (The command syntax can be remembered as "1234=-RHSA".)
L - print fiLe - Put the file at the cursor into the queue for printing as a
background process while in CF or any child of CF. (Printing is suspended
during any DOS functions, such as disk read/write.) Up to five files
OpRef-82
may be thus queued. Shift-L displays the print queue. Ctrl-L clears
the print queue. Ctrl-F while files are printing from the print
queue sets an internal flag which causes a form feed to the printer at
the end of the file most recently added to the print queue if the
file itself does not have a form feed as its last character.
(At times when the printer is not in use by CF, Ctrl-F sends a form feed
immediately.)
V - Volume label - Permits entry of a new volume label for the disk.
Shift-O - set user Option switches - Permits the resetting of twelve user-
specified option switches .
Alt-F - change File date/time stamp.
FILE EDITING/VIEWING:
Enter -view a file - When the cursor is placed on a file, Enter lets you view
the file on the screen. In this mode, the lower right screen
display gives information about the byte the cursor is on. Alt-H
displays help screen. Alt-Plus and Alt-Minus toggle the bottom
information display and the color-enhanced display of record
delimiters (CR, LF, CR+LF, LF+CR). Esc or Enter exits View mode. If
the file is a compressed format, a list of filenames will first be shown.
E - Edit a file - When the cursor is placed on a file as above, E lets
you edit the file. Cursor positioning is the same. Additional
control keys are Bksp, Delete Tab/Shift-Tab; Insert (toggles mode
between Insert and Typeover); Enter (inserts the record
delimiter previously selected with Ctrl-Enter; default is CR+LF).
Ctrl-Y deletes line; Ctrl-D deletes to end of line.
F1 or Alt-H provides a one-page help screen.
Block operations are performed with Alt- {M (Mark), Y (Yank), V (moVe),
C (Copy), O (Output to file), and P (Print)}.
Ctrl-F form-feeds the printer. Enter any ASCII code through Alt-
Keypad numerical combinations, except NULL, which is entered by Alt-N.
TREE OPERATIONS:
Cursor Movement - Up/Down Arrow moves one screen line at a time. PgUp/
PgDn moves several lines. Home/End moves to very top/bottom of tree.
Shift-Up/Down Arrow moves up/down one directory at same level (to next
OpRef-83
subdirectory up or down in parent directory), or, in "Goto file", "Goto
directory" and "Find text" modes, to next directory with a match to
the find string. P moves up to parent. Left/Right Arrow changes
panels, making the other panel the source. Shift-Left/Right Arrow
moves across to the path match in compare mode.
N - New drive - Allows changing drives, as in main module.
Shift - R - Relist panel from disk after media change.
M - Make new directory under path at cursor.
2 - toggle directory's hide attribute.
Alt-L - print a hard copy of the tree Listing shown on the source panel side
of the screen in straight tree mode. Prints a listing of all the
file matches while in Find file or Find text mode.
D - Delete structure - deletes the entire structure highlighted in the
cursor block in the source panel. This is a "soft" delete on hard
disks, in which the deleted files are collected in ~TRASH~
Ctrl- D - "hard" Delete structure. Uses the DOS file delete
function regardless of disk type.
Alt-D - Delete just the file in the source directory. This is a "hard" delete.
C - Copy structure under target path - Replicates the structure in the source
panel's cursor block under the directory selected in the target panel.
Shift-C - move structure under target path - If both panels selected to
the same disk, moves the structure in the source panel's cursor block
under the directory selected in the target panel. If different
disks selected, defaults to copy followed by hard delete.
Alt-C - Copy just the directory array under target directory, no files copied.
I - copy structure Into target path - Similar to copy, but does not
replicate the highest level subdirectory in the source block, but
rather puts its files directly into (vice under) the target
subdirectory, and replicates its substructure under the target path.
OpRef-84
Shift-I - move structure Into target path - Moves the source structure
into (vice under) the target subdirectory, as with I.
J - copy Just the files in source directory to target directory.
Shift-J - move Just the files from the source subdirectory to target.
S - Show files in opposite panel. Arrow across to file list if desired,
then up/down with normal cursor moves. In file list, Shift-Enter
returns to main module, to directory and file selected. Arrow back
to tree. Esc or S cancels "Show files". From file list, Enter or E
views or edits a file.
G - Goto file - Type filename for search. Wildcards are supported.
Positions to first match; directories with matches and matching files
are highlighted. Shift-Up/Down Arrow seeks next directory up or
down with match. Arrow across to file list as in "Show files", move
up or down, arrow back to tree, or Shift-Enter to file in main module
for file operation. Esc, G or Alt-G to cancel "Goto file" mode. From
file list, Enter or E to view or edit a file.
Alt-G - Goto directory - Type directory name for search. Navigation within
tree and exit are same as G.
Shift-F - Find text - Specify text to search for, and up to eight
filenames with wildcards. Directories and files with matches
are highlighted.
Ctrl-H - toggle the Hide switch and redisplay trees. With switch on (=Y),
directories with hidden attribute are not displayed. With switch off (=N),
hidden directories are displayed, and are denoted with a highlighted "*H"
Ctrl-C - toggle the Compare switch. With switch on (=Y), target disk is
searched for any path that matches that currently selected in source, and,
if one is found, adjusts screen if needed so it is visible,
and highlights it in high-intensity yellow.
Enter - From tree structure, return to main module with currently selected
path(s), and cursor positioned to top of listing. From file list in
"Show files" or "Goto file" mode, views file. Shift-Enter from file
list returns to main module with cursor on file.
Esc - Return to main module with path(s) as set on entry.
Alt-Q - Quit CF altogether; default path as selected in source.
OpRef-85
APPLICATION LAUNCHING (CHILD PROCESSES):
S - Shell to DOS - Sets up a DOS shell and do any DOS operations. Exit DOS
with the "exit" command when finished. CF then looks for and tries to
reestablish the current directories as they appeared in the panels at
shell execution.
Q - Quick execute - Immediately executes file at cursor, if extension is
.COM, .EXE or .BAT. Paths are as selected, ie, default drive/current
subdirectory is same as the executable file is in, and the
current subdirectory for any other drive is as last set in the panels.
Enter-Enter - Same as Q
X - prepare to eXecute with command line - Readies file at cursor for execu-
tion. File remains ready awaiting execution, initiated by one of
the followup key combinations Alt-X, Shift-X or Ctrl-X after paths are
set and command tail seeded as desired.
Alt-X - edit command line and initiate eXecution - Opens a window for editing
the command tail containing any "seeds" placed by Alt-C and/or T or Alt-T.
Execution of the readied application starts by pressing Enter.
The previously used command tail may be summoned by pressing the Up
Arrow or PgUp.
Shift-X - initiate eXecution, no editing of command tail. Same as Alt-X,
except file executes with command tail as-seeded, with no editing.
Tagged files in active panel are added to command tail.
Ctrl-X - initiate eXecution, no editing of command tail, and only the file
name at cursor is added as last entry in seeded command line. Alt-Tagged
files in active panel are ignored.
Alt-C - seed Command tail with file specification. Adds the full
specification, including path, of the file at the cursor to the
command tail buffer, and shows status of command tail being
built. Command tail may be added to using this feature before or
after executable file is readied with X.
T or Alt-T - Tag the file names in order for addition to the command tail.
Tagged files are added to the seeded command tail as the final step
after Alt-X or Shift-X is pressed.
Ctrl-Enter - select delimiter for use by the "seeding" operations Alt-C and
T or Alt-T between entries of command tail. Choices are blank,
comma, semicolon.
OpRef-86
Shift-F10 - specify a user-defined executable file specification and optional
default command line offering for up to 9 applications, assigned
to F1-F9. Also specify Compress/Extract command line default
parameters, and an access password. Ctrl-Enter to record selections
in current copy of configuration file, or Esc to cancel edit.
Ctrl-Enter also saves the state of all the configurable
user-option switches.
F10 - Display current entries F1-F9, Compress/Extract options, password. The
commands F1-F9, Shift-F1-F9, and Ctrl-F1-F9 may all be issued from this
display.
F1-F9 - ready a user-defined executable file spec - Effect is same as
locating the file with the cursor and hitting X. F-key default command
line parameters are added to command tail, which may already have
seeded entries.
Alt-F1-F9 - Same effect as F1-F9 followed by Alt-X.
Shift-F1-F9 - ready user-defined executable, add its default command line
parameters to the command tail being built, add any Tagged files in
current directory, and execute immediately. Same effect as F1-F9 followed
by Alt-X, Enter.
Ctrl-F1-F9 - ready user-defined executable file, add its default command line
parameters to the command tail being built, add only the file name under
the cursor, and execute immediately. Tagged files in active panel
are not added to the command tail before execution.
Z - Compression - Be sure PKZIP.EXE or other compression utility is on one
of the paths in your DOS path command, or specify the complete path spec
to it using Shift-F10.
To ZIP, select in one panel a target path for the compressed .ZIP file,
and optionally Tag or Alt-Tag an existing .ZIP file. Then switch to
the other panel and select a source path, optionally Tag or Alt-Tag files
to compress in order of desired appearance on command line, press Z, edit
command line if necessary, and press Enter. To avoid this extra Enter
keystroke, hit Shift-Z instead.
U - Extraction - As above, be sure PKUNZIP.EXE or other extraction utility is
on a path set in your DOS path command, or specify the complete path spec
to it with Shift-F10.
OpRef-87
To UNZIP, select in one panel a target path for the extracted files,
switch panels, select the directory with the .ZIP file to be
extracted, place the cursor on it, and press U. Edit command line,
if necessary, and press Enter. Alternatively, for instant UNZIPping,
use Shift-U.
DISPLAY ENHANCEMENT FEATURES:
"+" and "-" - Shift the file size display to expanded and contracted mode.
Expanded mode shows explicit size, but uses the file attribute field.
Contracted mode is in KB or MB.
H - Help - Shows a five-page help screen with abbreviated explanation of the
most-used operations.
Ctrl-N - edit Notes - Displays the directory notepad in the opposite panel for
viewing/entering/editing narrative comments about files. All the
editing and cursor control key combinations work. Notes follow the
files around when copied. CF updates the file on exit (Ctrl-Enter
or Esc). Files may be viewed/edited from the Notes screen with
Alt-V/Alt-E, tagged with Ctrl-T or Alt-T for subsequent mass action
after exit from edit Notes.
Shift-N - view Notes - Displays Notes in opposite panel, but leaves full
access to all directory and file services in the source panel,
including commands like Copy which operate to the target path.
Ctrl-O - select file Ordering mode - Permits selection of one of nine modes of
file ordering. Highlight shows current selection.
Ctrl-H - toggle Hide switch - Changes the state of the hide-enable switch,
shown at the top of the screen. With the switch on ("Y" for Yes), CF does
not display files whose hide attribute is set. With the switch off
("N" for No), all files are shown.
Ctrl-C - toggle Compare switch - Changes the state of the compare-enable
switch. In compare mode ("Y"), any file in the target path whose name is
the same as the file in the source path under the cursor will be shown and
highlighted.
Ctrl-M - Mask - Allows editing the Mask template for the panel, whose initial
value is *.* Tab moves cursor to the extension field, Shift-Tab to the
name field. Press Enter to enter the template modification and
redisplay the panel.
OpRef-88
5 - toggle date/time display on main screen.
Ctrl-P - color Palette selection - allows user to change color scheme to any
of four sets on color monitors.
Ctrl-E - alphabetic casE selection - Offers a choice of four case conventions:
dirs and files all caps; dirs in caps, files in lower; all in lower, and
"modified-Tauck", where the first letter of the file and each
letter following a non-alphabetic character is capitalized.
MISCELLANEOUS:
Shift-O - set up user Options.
Alt-I - specify filename for antivirus software integrity data files.
CF protects these files during copy operations. Default is
Integrity Master's ZZ##.ID.
Alt-Q or Esc-other key - Quit CF - Terminate to DOS. Esc-other key reestab-
lishes the default drive/directory CF encountered on execution; Alt-Q
leaves as currently set in source panel.
Password Protection - Bottom entry in Shift-F10 screen is a password entry
window. If a password is entered, it must be given to return to main
screen from the screen-saver mode.
Ctrl-S - forces main screen into Screen-saver mode immediately, rather than
waiting 1-1/2 minutes. Good for instantly invoking password protection.
Shift-S - Save display options. Saves current values of all user configuration
options, such as Hide and Compare switches, file Ordering
scheme, resident Kernel size selection and date/time display on/off.
Ctrl-F - Form feed parellel printer at LPT1.
Ctrl-2 - Form feed parellel printer at LPT2.
OpRef-89
*******************************
* *
* CMFiler -- Version 5.36q *
* *
*******************************
MEMORY MAPS - Information on Memory Allocation
1. CMFiler running:
-
|- 22 KB Kernel
-
|- 109 KB Overlay
-
|- 16, 32, or 64 KB for directory lists
-
|- 32 KB reserved for editor copy buffer
-
|- All remaining allocatable RAM (48 KB min) - File copy buffer
-
2. Editor module of CMFiler running:
-
|- 22 KB Kernel
-
|- 109 KB Overlay
-
|- 16, 32, or 64 KB for directory lists
-
|- 32 KB for editor copy buffer
-
|- All remaining allocatable RAM (48 KB min) - Line pointers,
| file area and line buffer
-
3. Application Launched under CMFiler:
-
|- 22 KB Kernel
-
|- 109 KB Overlay (Left intact if "Large" kernel option in force)
-
|- All remaining allocatable RAM - For Application's use
-